summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2021-08-07 19:05:31 +0200
committerBruno Haible <bruno@clisp.org>2021-08-07 19:05:31 +0200
commit3f14ad2a151664a660916ab0d08adb1f6011db62 (patch)
tree5466b9d2a5efe2d43e601b0baad1d7fac5a547f2 /lib
parent2fb0672b4058a81fd977d75865ea3c3aaded4fb6 (diff)
downloadgnulib-3f14ad2a151664a660916ab0d08adb1f6011db62.tar.gz
argv-iter: Improve GCC 11 allocation-deallocation checking.
* lib/argv-iter.h (argv_iter_free): Move declaration up. (argv_iter_init_argv, argv_iter_init_stream): Declare that deallocation must happen through 'argv_iter_free'.
Diffstat (limited to 'lib')
-rw-r--r--lib/argv-iter.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/argv-iter.h b/lib/argv-iter.h
index bcffd8491f..f84f8fccc6 100644
--- a/lib/argv-iter.h
+++ b/lib/argv-iter.h
@@ -30,13 +30,14 @@ enum argv_iter_err
AI_ERR_READ
};
-struct argv_iterator *argv_iter_init_argv (char **argv)
+void argv_iter_free (struct argv_iterator *)
_GL_ARG_NONNULL ((1));
+
+struct argv_iterator *argv_iter_init_argv (char **argv)
+ _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_DEALLOC (argv_iter_free, 1);
struct argv_iterator *argv_iter_init_stream (FILE *fp)
- _GL_ARG_NONNULL ((1));
+ _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_DEALLOC (argv_iter_free, 1);
char *argv_iter (struct argv_iterator *, enum argv_iter_err *)
_GL_ARG_NONNULL ((1, 2));
size_t argv_iter_n_args (struct argv_iterator const *)
_GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1));
-void argv_iter_free (struct argv_iterator *)
- _GL_ARG_NONNULL ((1));