1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:47:35 +00:00

LibC: Deprecate strcpy(), strncpy(), strcat() and strncat() :^)

And also mark strlcpy() and strlcat() with __attribute__((warn_unused_result)).

Since our code is warning-free, this ensures we never misuse those functions.
(Or are very sure about doing it when turning off the warning for a particular
piece of code.)
This commit is contained in:
Sergey Bugaev 2020-08-25 17:48:52 +03:00 committed by Andreas Kling
parent 0106647ab8
commit f808810d00
3 changed files with 25 additions and 3 deletions

View file

@ -33,27 +33,40 @@ __BEGIN_DECLS
size_t strlen(const char*);
size_t strnlen(const char*, size_t maxlen);
int strcmp(const char*, const char*);
int strncmp(const char*, const char*, size_t);
int strcasecmp(const char*, const char*);
int strncasecmp(const char*, const char*, size_t);
int memcmp(const void*, const void*, size_t);
void* memcpy(void*, const void*, size_t);
void* memmove(void*, const void*, size_t);
void* memchr(const void*, int c, size_t);
const void* memmem(const void* haystack, size_t, const void* needle, size_t);
void bzero(void*, size_t);
void bcopy(const void*, void*, size_t);
void* memset(void*, int, size_t);
__attribute__((malloc)) char* strdup(const char*);
__attribute__((malloc)) char* strndup(const char*, size_t);
__attribute__((deprecated("use strlcpy or String::copy_characters_to_buffer")))
char* strcpy(char* dest, const char* src);
size_t strlcpy(char* dest, const char* src, size_t);
__attribute__((deprecated("use strlcpy or String::copy_characters_to_buffer")))
char* strncpy(char* dest, const char* src, size_t);
__attribute__((warn_unused_result)) size_t strlcpy(char* dest, const char* src, size_t);
char* strchr(const char*, int c);
char* strchrnul(const char*, int c);
char* strstr(const char* haystack, const char* needle);
char* strrchr(const char*, int c);
char* strcat(char* dest, const char* src);
char* strncat(char* dest, const char* src, size_t);
__attribute__((deprecated("use strlcat"))) char* strcat(char* dest, const char* src);
__attribute__((deprecated("use strlcat"))) char* strncat(char* dest, const char* src, size_t);
__attribute__((warn_unused_result)) size_t strlcat(char* dest, const char* src, size_t);
size_t strspn(const char*, const char* accept);
size_t strcspn(const char*, const char* reject);
char* strerror(int errnum);