diff options
author | milek7 <me@milek7.pl> | 2021-01-08 01:26:51 +0100 |
---|---|---|
committer | Charles Pigott <charlespigott@googlemail.com> | 2021-01-08 00:40:45 +0000 |
commit | 639cfa43d23aa142cabbf2f08ec20a2133b0503e (patch) | |
tree | 968674fda66e17259ca719408eeb3a79a7867f90 | |
parent | 79d938b9570be94381cf61190d60bfc847fb8c4c (diff) | |
download | openttd-639cfa43d23aa142cabbf2f08ec20a2133b0503e.tar.xz |
Codechange: Use access __attribute__ to silence warnings in GCC
-rw-r--r-- | src/stdafx.h | 6 | ||||
-rw-r--r-- | src/string_func.h | 16 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/stdafx.h b/src/stdafx.h index 12d4fa81d..9e2eb2aef 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -136,6 +136,12 @@ # endif #endif /* __GNUC__ || __clang__ */ +#if defined(__GNUC__) +# define NOACCESS(args) __attribute__ ((access (none, args))) +#else +# define NOACCESS(args) +#endif + #if defined(__WATCOMC__) # define NORETURN # define CDECL diff --git a/src/string_func.h b/src/string_func.h index 13e14f2d3..7a53710c2 100644 --- a/src/string_func.h +++ b/src/string_func.h @@ -30,25 +30,25 @@ #include "core/bitmath_func.hpp" #include "string_type.h" -char *strecat(char *dst, const char *src, const char *last); -char *strecpy(char *dst, const char *src, const char *last); -char *stredup(const char *src, const char *last = nullptr); +char *strecat(char *dst, const char *src, const char *last) NOACCESS(3); +char *strecpy(char *dst, const char *src, const char *last) NOACCESS(3); +char *stredup(const char *src, const char *last = nullptr) NOACCESS(2); -int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4); -int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) WARN_FORMAT(3, 0); +int CDECL seprintf(char *str, const char *last, const char *format, ...) WARN_FORMAT(3, 4) NOACCESS(2); +int CDECL vseprintf(char *str, const char *last, const char *format, va_list ap) WARN_FORMAT(3, 0) NOACCESS(2); char *CDECL str_fmt(const char *str, ...) WARN_FORMAT(1, 2); -void str_validate(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); +void str_validate(char *str, const char *last, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK) NOACCESS(2); std::string str_validate(const std::string &str, StringValidationSettings settings = SVS_REPLACE_WITH_QUESTION_MARK); void ValidateString(const char *str); -void str_fix_scc_encoded(char *str, const char *last); +void str_fix_scc_encoded(char *str, const char *last) NOACCESS(2); void str_strip_colours(char *str); bool strtolower(char *str); bool strtolower(std::string &str, std::string::size_type offs = 0); -bool StrValid(const char *str, const char *last); +bool StrValid(const char *str, const char *last) NOACCESS(2); /** * Check if a string buffer is empty. |