[devel] Что это? Переопределение функций?
Дмитрий Ханжин
dmitriy.khanzhin на gmail.com
Пн Июл 31 21:56:02 MSK 2017
31.07.2017 13:52, Dmitry V. Levin пишет:
> Hi,
>
>
> Текущее состояние по добавлению strlcpy и strlcat в glibc:
> https://sourceware.org/ml/libc-alpha/2017-06/msg00703.html
> На данный момент остался только один человек, препятствующий принятию
> этого патча. Ну что же, подождём ещё немного.
>
Вот что мне ответили:
> Thanks for your comment!
> If we modify the prototype declaration will it then not conflict with other distributions?
> __THROW is a preprocesor symbol which not all compilers may have?
> Similar for __nonnull.
> The declarations we have now originate from OpenBSD/FreeBSD.
> ALT Linux wants to improve on them and so introduces differences?
> Does ALT Linux have a preprocessor symbol by which we can identify it?
> Is there a way we can avoid the ALT Linux declaration from string.h?
> Could you perhaps attach the output of g++ -E /usr/include/string.h ?
> What would be harmless is if you add a extern "C" linkage specification.
> Would that suffice? Probably not.
> What does the ALT Linux team say?
> Sorry for all the questions.
Прокомментируйте, пожалуйста, я так глубоко не интересовался.
Вывод g++ -E /usr/include/string.h на предмет strlcpy и strlcat:
extern size_t strlcpy (char *__restrict __dest,
const char *__restrict __src, size_t __n)
# 585 "string.h" 3 4
throw () __attribute__ ((__nonnull__
# 585 "string.h"
(2)
# 585 "string.h" 3 4
))
# 585 "string.h"
;
extern size_t strlcat (char *__restrict __dest,
const char *__restrict __src, size_t __n)
# 591 "string.h" 3 4
throw () __attribute__ ((__nonnull__
# 591 "string.h"
(2)
# 591 "string.h" 3 4
))
# 591 "string.h"
;
Ссылку выше прочитал, но тоже ничего не понял. :-(
Прошу прощения.
Подробная информация о списке рассылки Devel