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:
parent
0106647ab8
commit
f808810d00
3 changed files with 25 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue