From d6482742443ec24097b83817bbf3bf5f6fb0cc8a Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Wed, 19 Feb 2014 10:43:48 +0100 Subject: Fixed parsing of options. HUG_OPTION_FILENAME triggered an index skew when OUTPUT_TO_FILENAME wasn't added as flag. --- hugin.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'hugin.c') 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: -- cgit v1.2.3