From: Arran Cudbard-Bell Date: Thu, 5 May 2022 10:21:20 +0000 (+0200) Subject: More minor jlibtool fixes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26d026e73b63917b5169e137f6069a050de16e24;p=thirdparty%2Ffreeradius-server.git More minor jlibtool fixes --- diff --git a/scripts/jlibtool.c b/scripts/jlibtool.c index f6524826700..5555a95fb56 100644 --- a/scripts/jlibtool.c +++ b/scripts/jlibtool.c @@ -14,14 +14,15 @@ * limitations under the License. */ +#include +#include +#include +#include #include -#include #include -#include -#include +#include #include #include -#include #if !defined(__MINGW32__) # include @@ -947,9 +948,9 @@ static int run_command(command_t *cmd, count_chars *cc) * print configuration * shlibpath_var is used in configure. */ -#define printc(_var, _id) if (!value || !strcmp(value, _id)) if (_var) printf(_id "=\"%s\"\n", _var) +#define printc(_var, _id) if (!*value || !strcmp(value, _id)) if (_var) printf(_id "=\"%s\"\n", _var) -#define printc_ext(_var, _id, _ext) if (!value || !strcmp(value, _id)) if (_var) printf(_id "=\"%s%s\"\n", _ext, _var) +#define printc_ext(_var, _id, _ext) if (!*value || !strcmp(value, _id)) if (_var) printf(_id "=\"%s%s\"\n", _ext, _var) static void print_config(char const *value) { @@ -1015,13 +1016,23 @@ static int parse_long_opt(char const *arg, command_t *cmd) } else if (strcmp(var, "target") == 0) { target_map_t const *p; target_map_t const *end; + size_t i, len; + + /* + * Zero length len is fine, it just means we use the default. + */ + len = strlen(value); + if (!len) return 1; - if (!strlen(value) || (strcmp(value, "default") == 0)) return 1; + /* + * Smash the target to lower case + */ + for (i = 0; i < len; i++) value[i] = tolower(value[i]); for (p = target_map, end = target_map + (sizeof(target_map) / sizeof(*target_map)); p < end; p++) { - if (strcasecmp(value, p->name) == 0) { + if (strcmp(value, p->name) == 0) { found_target: /* * This is cross-compilation target