From: Tim Kientzle Date: Mon, 15 Jun 2015 17:54:56 +0000 (-0700) Subject: Issue #520: Visual Studio 2008 is not C99 compliant. X-Git-Tag: v3.1.900a~92 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90714b37e6a0632d24dbabe6822f9d374d641616;p=thirdparty%2Flibarchive.git Issue #520: Visual Studio 2008 is not C99 compliant. --- diff --git a/libarchive/archive_write_set_format_filter_by_ext.c b/libarchive/archive_write_set_format_filter_by_ext.c index e4a9d9f97..56d1ccbcc 100644 --- a/libarchive/archive_write_set_format_filter_by_ext.c +++ b/libarchive/archive_write_set_format_filter_by_ext.c @@ -68,13 +68,19 @@ struct { const char *name; int (*format)(struct archive *); int (*filter)(struct static int cmpsuff(const char *str, const char *suffix) { + size_t length_str, length_suffix; + if ((str == NULL) || (suffix == NULL)) return -1; - - size_t length_str = strlen(str); - size_t length_suffix = strlen(suffix); - - return (length_str >= length_suffix) ? strcmp(str + (length_str - length_suffix), suffix) : -1; + + length_str = strlen(str); + length_suffix = strlen(suffix); + + if (length_str >= length_suffix) { + return strcmp(str + (length_str - length_suffix), suffix); + } else { + return -1; + } } int get_array_index(const char *name)