summaryrefslogtreecommitdiffstats
path: root/dive.h
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2015-06-27 12:58:47 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-06-27 05:57:52 -0700
commit5a61c81cc21e6f18b83b3b6962d5d18c777fcb73 (patch)
tree6928b52abc0c8eb630385e798f83b326cbc5bc6e /dive.h
parent65aab8199fb24231b4d0a5e8506f6bc677e9dbb5 (diff)
downloadsubsurface-5a61c81cc21e6f18b83b3b6962d5d18c777fcb73.tar.gz
Teach copy_string to return NULL on empty string
In subsurface we store no value as a NULL pointer everywhere, but sometimes some structures returns a empty field as a empty string. This teaches our helper copy_string to return NULL if you try to copy a empty string. This fixes a bug where we store buddy and divemaster in git as empty strings if they passed via MainTab::saveTaggedStrings(). Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'dive.h')
-rw-r--r--dive.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/dive.h b/dive.h
index f07c9d9b2..318f822e7 100644
--- a/dive.h
+++ b/dive.h
@@ -32,7 +32,7 @@ static inline int same_string(const char *a, const char *b)
static inline char *copy_string(const char *s)
{
- return s ? strdup(s) : NULL;
+ return (s && *s) ? strdup(s) : NULL;
}
#include <libxml/tree.h>