From: Mats Date: Tue, 11 Mar 2014 19:15:36 +0000 (+0100) Subject: Unify use of string comparisons X-Git-Tag: 2.9~25 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4f7da73885934a052425fc71861b0c9922c2122f;p=i3%2Fi3status Unify use of string comparisons * strncmp(s1, s2, strlen(s2)) → BEGINS_WITH(s1, s2) * strncmp(s1, s2, strlen(s1)) → strcmp(s1, s2) * Prefer case-insensitive comparison for options --- diff --git a/src/print_battery_info.c b/src/print_battery_info.c index aaef46e..72d291e 100644 --- a/src/print_battery_info.c +++ b/src/print_battery_info.c @@ -153,11 +153,11 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char seconds -= (minutes * 60); if (status == CS_DISCHARGING && low_threshold > 0) { - if (strncmp(threshold_type, "percentage", strlen(threshold_type)) == 0 + if (strcasecmp(threshold_type, "percentage") == 0 && percentage_remaining < low_threshold) { START_COLOR("color_bad"); colorful_output = true; - } else if (strncmp(threshold_type, "time", strlen(threshold_type)) == 0 + } else if (strcasecmp(threshold_type, "time") == 0 && seconds_remaining < 60 * low_threshold) { START_COLOR("color_bad"); colorful_output = true; @@ -191,7 +191,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char * we colorize the output if threshold_type is set to percentage * (since we don't have any information on remaining time). */ if (status == CS_DISCHARGING && low_threshold > 0) { - if (strncmp(threshold_type, "percentage", strlen(threshold_type)) == 0 + if (strcasecmp(threshold_type, "percentage") == 0 && percentage_remaining < low_threshold) { START_COLOR("color_bad"); colorful_output = true; @@ -242,11 +242,11 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char minutes -= (hours * 60); (void)snprintf(remainingbuf, sizeof(remainingbuf), "%02dh%02d", max(hours, 0), max(minutes, 0)); - if (strncmp(threshold_type, "percentage", strlen(threshold_type)) == 0 + if (strcasecmp(threshold_type, "percentage") == 0 && present_rate < low_threshold) { START_COLOR("color_bad"); colorful_output = true; - } else if (strncmp(threshold_type, "time", strlen(threshold_type)) == 0 + } else if (strcasecmp(threshold_type, "time") == 0 && remaining < (u_int) low_threshold) { START_COLOR("color_bad"); colorful_output = true; @@ -296,11 +296,11 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char (void)snprintf(percentagebuf, sizeof(percentagebuf), "%.00d%%", apm_info.battery_life); if (status == CS_DISCHARGING && low_threshold > 0) { - if (strncmp(threshold_type, "percentage", strlen(threshold_type)) == 0 + if (strcasecmp(threshold_type, "percentage") == 0 && apm_info.battery_life < low_threshold) { START_COLOR("color_bad"); colorful_output = true; - } else if (strncmp(threshold_type, "time", strlen(threshold_type)) == 0 + } else if (strcasecmp(threshold_type, "time") == 0 && apm_info.minutes_left < (u_int) low_threshold) { START_COLOR("color_bad"); colorful_output = true; @@ -334,21 +334,21 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char continue; } - if (strncmp(walk+1, "status", strlen("status")) == 0) { + if (BEGINS_WITH(walk+1, "status")) { outwalk += sprintf(outwalk, "%s", statusbuf); walk += strlen("status"); - } else if (strncmp(walk+1, "percentage", strlen("percentage")) == 0) { + } else if (BEGINS_WITH(walk+1, "percentage")) { outwalk += sprintf(outwalk, "%s", percentagebuf); walk += strlen("percentage"); - } else if (strncmp(walk+1, "remaining", strlen("remaining")) == 0) { + } else if (BEGINS_WITH(walk+1, "remaining")) { outwalk += sprintf(outwalk, "%s", remainingbuf); walk += strlen("remaining"); EAT_SPACE_FROM_OUTPUT_IF_EMPTY(remainingbuf); - } else if (strncmp(walk+1, "emptytime", strlen("emptytime")) == 0) { + } else if (BEGINS_WITH(walk+1, "emptytime")) { outwalk += sprintf(outwalk, "%s", emptytimebuf); walk += strlen("emptytime"); EAT_SPACE_FROM_OUTPUT_IF_EMPTY(emptytimebuf); - } else if (strncmp(walk+1, "consumption", strlen("consumption")) == 0) { + } else if (BEGINS_WITH(walk+1, "consumption")) { outwalk += sprintf(outwalk, "%s", consumptionbuf); walk += strlen("consumption"); EAT_SPACE_FROM_OUTPUT_IF_EMPTY(consumptionbuf); diff --git a/src/print_cpu_temperature.c b/src/print_cpu_temperature.c index 306ad1d..48bbf91 100644 --- a/src/print_cpu_temperature.c +++ b/src/print_cpu_temperature.c @@ -117,7 +117,7 @@ void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const goto error; } /* 'path' is the node within the full path (defaults to acpitz0). */ - if (strncmp(sensordev.xname, thermal_zone, strlen(thermal_zone)) == 0) { + if (BEGINS_WITH(sensordev.xname, thermal_zone)) { mib[3] = SENSOR_TEMP; /* Limit to temo0, but should retrieve from a full path... */ for (numt = 0; numt < 1 /*sensordev.maxnumt[SENSOR_TEMP]*/; numt++) { diff --git a/src/print_cpu_usage.c b/src/print_cpu_usage.c index 80944c5..26a9d4f 100644 --- a/src/print_cpu_usage.c +++ b/src/print_cpu_usage.c @@ -97,7 +97,7 @@ void print_cpu_usage(yajl_gen json_gen, char *buffer, const char *format) { continue; } - if (strncmp(walk+1, "usage", strlen("usage")) == 0) { + if (BEGINS_WITH(walk+1, "usage")) { outwalk += sprintf(outwalk, "%02d%%", diff_usage); walk += strlen("usage"); } diff --git a/src/print_disk_info.c b/src/print_disk_info.c index d586839..1671210 100644 --- a/src/print_disk_info.c +++ b/src/print_disk_info.c @@ -43,9 +43,9 @@ static int format_bytes(char *outwalk, uint64_t bytes, uint64_t base, const char * */ static int print_bytes_human(char *outwalk, uint64_t bytes, const char *prefix_type) { - if (strncmp(prefix_type, "decimal", strlen(prefix_type)) == 0) { + if (strcasecmp(prefix_type, "decimal") == 0) { return format_bytes(outwalk, bytes, DECIMAL_BASE, si_symbols); - } else if (strncmp(prefix_type, "custom", strlen(prefix_type)) == 0) { + } else if (strcasecmp(prefix_type, "custom") == 0) { return format_bytes(outwalk, bytes, BINARY_BASE, custom_symbols); } else { return format_bytes(outwalk, bytes, BINARY_BASE, iec_symbols); diff --git a/src/print_eth_info.c b/src/print_eth_info.c index 45a44a4..c446da4 100644 --- a/src/print_eth_info.c +++ b/src/print_eth_info.c @@ -90,8 +90,8 @@ static int print_eth_speed(char *outwalk, const char *interface) { * Skip these non-informative values and go right ahead to the * actual speeds. */ - if (strncmp(desc->ifmt_string, "autoselect", strlen("autoselect")) == 0 || - strncmp(desc->ifmt_string, "auto", strlen("auto")) == 0) + if (BEGINS_WITH(desc->ifmt_string, "autoselect") || + BEGINS_WITH(desc->ifmt_string, "auto")) continue; if (IFM_TYPE_MATCH(desc->ifmt_word, ifmr.ifm_active) && @@ -131,10 +131,10 @@ void print_eth_info(yajl_gen json_gen, char *buffer, const char *interface, cons continue; } - if (strncmp(walk+1, "ip", strlen("ip")) == 0) { + if (BEGINS_WITH(walk+1, "ip")) { outwalk += sprintf(outwalk, "%s", ip_address); walk += strlen("ip"); - } else if (strncmp(walk+1, "speed", strlen("speed")) == 0) { + } else if (BEGINS_WITH(walk+1, "speed")) { outwalk += print_eth_speed(outwalk, interface); walk += strlen("speed"); } diff --git a/src/print_ipv6_addr.c b/src/print_ipv6_addr.c index fa50ea5..7ff9c97 100644 --- a/src/print_ipv6_addr.c +++ b/src/print_ipv6_addr.c @@ -136,7 +136,7 @@ void print_ipv6_info(yajl_gen json_gen, char *buffer, const char *format_up, con continue; } - if (strncmp(walk+1, "ip", strlen("ip")) == 0) { + if (BEGINS_WITH(walk+1, "ip")) { outwalk += sprintf(outwalk, "%s", addr_string); walk += strlen("ip"); } diff --git a/src/print_path_exists.c b/src/print_path_exists.c index c5225a1..a2fcb14 100644 --- a/src/print_path_exists.c +++ b/src/print_path_exists.c @@ -21,10 +21,10 @@ void print_path_exists(yajl_gen json_gen, char *buffer, const char *title, const continue; } - if (strncmp(walk+1, "title", strlen("title")) == 0) { + if (BEGINS_WITH(walk+1, "title")) { outwalk += sprintf(outwalk, "%s", title); walk += strlen("title"); - } else if (strncmp(walk+1, "status", strlen("status")) == 0) { + } else if (BEGINS_WITH(walk+1, "status")) { outwalk += sprintf(outwalk, "%s", (exists ? "yes" : "no")); walk += strlen("status"); } diff --git a/src/print_run_watch.c b/src/print_run_watch.c index 893e2cd..bc0d6dc 100644 --- a/src/print_run_watch.c +++ b/src/print_run_watch.c @@ -19,10 +19,10 @@ void print_run_watch(yajl_gen json_gen, char *buffer, const char *title, const c continue; } - if (strncmp(walk+1, "title", strlen("title")) == 0) { + if (BEGINS_WITH(walk+1, "title")) { outwalk += sprintf(outwalk, "%s", title); walk += strlen("title"); - } else if (strncmp(walk+1, "status", strlen("status")) == 0) { + } else if (BEGINS_WITH(walk+1, "status")) { outwalk += sprintf(outwalk, "%s", (running ? "yes" : "no")); walk += strlen("status"); }