Skip to content

Commit

Permalink
Codechange: Use access __attribute__ to silence warnings in GCC
Browse files Browse the repository at this point in the history
  • Loading branch information
Milek7 authored and LordAro committed Jan 8, 2021
1 parent 79d938b commit 639cfa4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
6 changes: 6 additions & 0 deletions src/stdafx.h
Expand Up @@ -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
Expand Down
16 changes: 8 additions & 8 deletions src/string_func.h
Expand Up @@ -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.
Expand Down

0 comments on commit 639cfa4

Please sign in to comment.