Signed-off-by: whzhe <wanghongzhe@huawei.com>
extern /*@maynotreturn@*/ /*@only@*//*@out@*//*@notnull@*/char *xmalloc (size_t size)
/*@ensures MaxSet(result) == (size - 1); @*/;
extern /*@maynotreturn@*/ /*@only@*//*@notnull@*/char *xstrdup (const char *);
+extern void xfree(void *ap);
/* xgetpwnam.c */
extern /*@null@*/ /*@only@*/struct passwd *xgetpwnam (const char *);
{
return strcpy (xmalloc (strlen (str) + 1), str);
}
+
+void xfree(void *ap)
+{
+ if (ap) {
+ free(ap);
+ }
+}
static void log_gpasswd_success_system (/*@null@*/unused void *arg);
static void log_gpasswd_success_group (/*@null@*/unused void *arg);
-static void xfree(void* p) {
- if (p) {
- free(p);
- }
-}
-
/*
* usage - display usage message
*/