/* This is based on loadparm.c from Samba, written by Andrew Tridgell
and Karl Auer */
+/* some fixes
+ *
+ * Copyright (C) 2001 by Martin Pool <mbp@samba.org>
+ */
+
/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
copy_service(pservice,&sDefault);
}
-static void string_set(char **s, char *v)
+
+/**
+ * Assign a copy of @p v to @p *s. Handles NULL strings. @p *v must
+ * be initialized when this is called, either to NULL or a malloc'd
+ * string.
+ *
+ * @fixme There is a small leak here in that sometimes the existing
+ * value will be dynamically allocated, and the old copy is lost.
+ * However, we can't always deallocate the old value, because in the
+ * case of sDefault, it points to a static string. It would be nice
+ * to have either all-strdup'd values, or to never need to free
+ * memory.
+ **/
+static void string_set(char **s, const char *v)
{
if (!v) {
*s = NULL;
return;
}
*s = strdup(v);
- if (!*s) exit_cleanup(RERR_MALLOC);
+ if (!*s)
+ exit_cleanup(RERR_MALLOC);
}