summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Suhr Christensen <jsc@umbraculum.org>2014-02-19 10:43:48 +0100
committerJonas Suhr Christensen <jsc@umbraculum.org>2014-02-19 10:43:48 +0100
commitd6482742443ec24097b83817bbf3bf5f6fb0cc8a (patch)
treed9401725b6df0d2e5093015c34af2f504bfb3139
parentb9f463cbd2ab9dfb4be5b17a649b88e7ddc2b334 (diff)
Fixed parsing of options. HUG_OPTION_FILENAME triggered an index skew when OUTPUT_TO_FILENAME wasn't added as flag.
-rw-r--r--hugin.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hugin.c b/hugin.c
index a4dd622..bfb43e8 100644
--- a/hugin.c
+++ b/hugin.c
@@ -232,8 +232,12 @@ hug_status_t hug_init(unsigned int flags, ...)
hug_config.stdout_no_date = va_arg(vl, int);
break;
case HUG_OPTION_FILENAME:
+ {
+ const char *filename = (const char*) va_arg(vl, char*);
+ if(!filename) break;
+
if(hug_config.flags & HUG_FLAG_OUTPUT_TO_FILE) {
- hug_config.filename = strdup((const char*)va_arg(vl, char*));
+ hug_config.filename = strdup(filename);
hug_config.file_fd = open(hug_config.filename,
O_CREAT | O_APPEND | O_RDWR, 0777);
if(hug_config.file_fd == -1) {
@@ -242,6 +246,7 @@ hug_status_t hug_init(unsigned int flags, ...)
return HUG_STATUS_ERROR;
}
}
+ }
break;
#ifdef WITH_HUG_SYSLOG
case HUG_OPTION_SYSLOG_PORT: