diff options
-rw-r--r-- | tests/includes/types.h | 1 | ||||
-rw-r--r-- | utils.c | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/tests/includes/types.h b/tests/includes/types.h index 0bb914c..c8c3afd 100644 --- a/tests/includes/types.h +++ b/tests/includes/types.h @@ -29,6 +29,7 @@ typedef struct char_struct { } char_struct_t; typedef char* string_t; +typedef const char* const_string_t; static inline int8_t int_to_int8(int n) { return (int8_t) n; @@ -159,9 +159,13 @@ UserVarQualifier(const argument_t *arg) if (!UserVarConst(arg)) return ""; - if (arg->argType->itIndefinite) - /* This is a pointer type, so we have to use the const_foo type to - make const qualify the data, not the pointer. */ + if (arg->argType->itIndefinite || + !strcmp(arg->argType->itUserType, "string_t")) + /* This is a pointer, so we have to use the const_foo type to + make const qualify the data, not the pointer. + + Or this is a string_t, which should use const_string_t to avoid + forcing the caller to respect the definite string size */ return "const_"; else return "const "; |