]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
treewide: avoid strcasecmp() for ASCII-only strings
authorKarel Zak <kzak@redhat.com>
Tue, 1 Apr 2025 15:45:01 +0000 (17:45 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 3 Apr 2025 08:17:43 +0000 (10:17 +0200)
Use cctype.h for locale-independent string comparison and to avoid
tricky string conversions like in tr_TR locales.

Fixes: https://github.com/util-linux/util-linux/issues/3490
Signed-off-by: Karel Zak <kzak@redhat.com>
(cherry picked from commit 107293a68206f24e531fd906e8114b578911bb7a)

33 files changed:
lib/blkdev.c
lib/colors.c
lib/logindefs.c
lib/match.c
lib/sysfs.c
libsmartcols/src/filter-param.c
login-utils/chfn.c
login-utils/lslogins.c
lsfd-cmd/lsfd.c
misc-utils/fincore.c
misc-utils/findmnt.c
misc-utils/logger.c
misc-utils/lsclocks.c
misc-utils/lslocks.c
misc-utils/uuidparse.c
misc-utils/wipefs.c
schedutils/ionice.c
sys-utils/chmem.c
sys-utils/dmesg.c
sys-utils/irq-common.c
sys-utils/ldattach.c
sys-utils/losetup.c
sys-utils/lscpu.c
sys-utils/lsipc.c
sys-utils/lsmem.c
sys-utils/lsns.c
sys-utils/prlimit.c
sys-utils/rfkill.c
sys-utils/swapon.c
sys-utils/wdctl.c
sys-utils/zramctl.c
term-utils/script.c
tests/helpers/test_mkfds.c

index b10da99a246b06614cab9e247c4a6d38f635c9ef..110abcd913ecb6c0d300cf7a4090019027e87e44 100644 (file)
@@ -35,6 +35,7 @@
 #include "all-io.h"
 #include "blkdev.h"
 #include "c.h"
+#include "cctype.h"
 #include "linux_version.h"
 #include "fileutils.h"
 #include "nls.h"
@@ -384,14 +385,14 @@ int blkdev_lock(int fd, const char *devname, const char *lockmode)
        if (!lockmode)
                return 0;
 
-       if (strcasecmp(lockmode, "yes") == 0 ||
+       if (c_strcasecmp(lockmode, "yes") == 0 ||
            strcmp(lockmode, "1") == 0)
                oper = LOCK_EX;
 
-       else if (strcasecmp(lockmode, "nonblock") == 0)
+       else if (c_strcasecmp(lockmode, "nonblock") == 0)
                oper = LOCK_EX | LOCK_NB;
 
-       else if (strcasecmp(lockmode, "no") == 0 ||
+       else if (c_strcasecmp(lockmode, "no") == 0 ||
                 strcmp(lockmode, "0") == 0)
                return 0;
        else {
index c9a95189298401e54d93acd660d8e5c94e56aef6..4852a87cccb66079c0b6cb4369eedef4b7210c82 100644 (file)
@@ -32,6 +32,7 @@
 #endif
 
 #include "c.h"
+#include "cctype.h"
 #include "colors.h"
 #include "pathnames.h"
 #include "strutils.h"
@@ -744,7 +745,7 @@ int colormode_from_string(const char *str)
        assert(ARRAY_SIZE(modes) == __UL_NCOLORMODES);
 
        for (i = 0; i < ARRAY_SIZE(modes); i++) {
-               if (strcasecmp(str, modes[i]) == 0)
+               if (c_strcasecmp(str, modes[i]) == 0)
                        return i;
        }
 
index 7b69599214566d6cba0ebb4b8773348044ec0fb2..4fee83957a07f8290d6c6e7a18568e4f5339ab2b 100644 (file)
@@ -32,6 +32,7 @@
 #include <pwd.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 #include "logindefs.h"
 #include "nls.h"
@@ -171,7 +172,7 @@ static struct item *search(const char *name)
 
        ptr = list;
        while (ptr != NULL) {
-               if (strcasecmp(name, ptr->name) == 0)
+               if (c_strcasecmp(name, ptr->name) == 0)
                        return ptr;
                ptr = ptr->next;
        }
@@ -185,7 +186,7 @@ static const char *search_config(const char *name)
 
        ptr = list;
        while (ptr != NULL) {
-               if (strcasecmp(name, ptr->name) == 0)
+               if (c_strcasecmp(name, ptr->name) == 0)
                        return ptr->path;
                ptr = ptr->next;
        }
@@ -196,7 +197,7 @@ static const char *search_config(const char *name)
 int getlogindefs_bool(const char *name, int dflt)
 {
        struct item *ptr = search(name);
-       return ptr && ptr->value ? (strcasecmp(ptr->value, "yes") == 0) : dflt;
+       return ptr && ptr->value ? (c_strcasecmp(ptr->value, "yes") == 0) : dflt;
 }
 
 unsigned long getlogindefs_num(const char *name, unsigned long dflt)
index a286a190c0c865b2588985bde118fbdd8d469264..2e0b3ce4c23a389f97c0f0bca1fdb54b206362d1 100644 (file)
@@ -8,6 +8,7 @@
 #include <string.h>
 
 #include "match.h"
+#include "cctype.h"
 
 /*
  * match_fstype:
@@ -39,10 +40,10 @@ int match_fstype(const char *type, const char *pattern)
        len = strlen(type);
        p = pattern;
        while(1) {
-               if (!strncmp(p, "no", 2) && !strncasecmp(p+2, type, len) &&
+               if (!strncmp(p, "no", 2) && !c_strncasecmp(p+2, type, len) &&
                    (p[len+2] == 0 || p[len+2] == ','))
                        return 0;
-               if (strncasecmp(p, type, len) == 0 && (p[len] == 0 || p[len] == ','))
+               if (c_strncasecmp(p, type, len) == 0 && (p[len] == 0 || p[len] == ','))
                        return !no;
                p = strchr(p,',');
                if (!p)
index ac9c5c3bf324b5ec3e29ba8d07af96c400ec16b9..0a016be97e6df4786e14bef1a1807b4febed4fe9 100644 (file)
@@ -11,6 +11,7 @@
 #include <unistd.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "pathnames.h"
 #include "sysfs.h"
 #include "fileutils.h"
@@ -576,7 +577,7 @@ int sysfs_blkdev_get_wholedisk(     struct path_cxt *pc,
        tmp = uuid;
        prefix = uuid ? strsep(&tmp, "-") : NULL;
 
-        if (prefix && strncasecmp(prefix, "part", 4) == 0)
+        if (prefix && c_strncasecmp(prefix, "part", 4) == 0)
             is_part = 1;
         free(uuid);
 
index 4a67cbfaff0fce08be10b9d3c9fb55e662f8d735..63af4c6b34a319743363e5952a6ce541db2c4443 100644 (file)
@@ -4,6 +4,7 @@
 #include <unistd.h>
 #include <regex.h>
 
+#include "cctype.h"
 #include "rpmatch.h"
 #include "smartcolsP.h"
 
@@ -627,8 +628,8 @@ static int string_cast(int type, struct filter_param *n)
        case SCOLS_DATA_BOOLEAN:
        {
                bool x = str && *str
-                            && (strcasecmp(str, "1") == 0
-                                || strcasecmp(str, "true") == 0
+                            && (strcmp(str, "1") == 0
+                                || c_strcasecmp(str, "true") == 0
                                 || rpmatch(str) == RPMATCH_YES);
                n->val.boolean = x;
                break;
index b82492e9b7e5790abd7d32dd70b04e87d6002b62..7067ffaf27e9c9f72091ad1157221a5bd9aa1b25 100644 (file)
@@ -33,6 +33,7 @@
 #include <unistd.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "env.h"
 #include "closestream.h"
 #include "islocal.h"
@@ -245,7 +246,7 @@ static char *ask_new_field(struct chfn_control *ctl, const char *question,
                        free(buf);
                        return xstrdup(def_val);
                }
-               if (!strcasecmp(buf, "none")) {
+               if (!c_strcasecmp(buf, "none")) {
                        free(buf);
                        ctl->changed = 1;
                        return xstrdup("");
index ae7047d05f2a7b72ec2e611fcdcc76143ef460dc..88b0c4b316d69abf872f12f1a93e9ccb3176a47d 100644 (file)
@@ -52,6 +52,7 @@
 #endif
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "closestream.h"
 #include "xalloc.h"
@@ -324,7 +325,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(coldescs); i++) {
                const char *cn = coldescs[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 714083e70c527b18bfa963879c7a685a5574b658..78f0c2c6a367b8a0bf418dee0edea65f7f33ae37 100644 (file)
@@ -46,6 +46,7 @@
 #define PF_KTHREAD             0x00200000      /* I am a kernel thread */
 
 #include "c.h"
+#include "cctype.h"
 #include "list.h"
 #include "closestream.h"
 #include "column-list-table.h"
@@ -611,7 +612,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 25ce5aa1ea1e285d29d97b68ed749bdf66a90c8d..ea48f3e647dc7a55e720f9be0d8c4aa15f85b089 100644 (file)
@@ -27,6 +27,7 @@
 #include <string.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "closestream.h"
 #include "xalloc.h"
@@ -149,7 +150,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index fbfb84c9443abe7db04568d81ab7eb4a7409f56c..46955fc2275949857cc77ec4a4c034bf79889f71 100644 (file)
@@ -44,6 +44,7 @@
 #include "nls.h"
 #include "closestream.h"
 #include "c.h"
+#include "cctype.h"
 #include "strutils.h"
 #include "xalloc.h"
 #include "optutils.h"
@@ -344,13 +345,13 @@ static int poll_action_name_to_id(const char *name, size_t namesz)
 {
        int id = -1;
 
-       if (strncasecmp(name, "move", namesz) == 0 && namesz == 4)
+       if (c_strncasecmp(name, "move", namesz) == 0 && namesz == 4)
                id = MNT_TABDIFF_MOVE;
-       else if (strncasecmp(name, "mount", namesz) == 0 && namesz == 5)
+       else if (c_strncasecmp(name, "mount", namesz) == 0 && namesz == 5)
                id = MNT_TABDIFF_MOUNT;
-       else if (strncasecmp(name, "umount", namesz) == 0 && namesz == 6)
+       else if (c_strncasecmp(name, "umount", namesz) == 0 && namesz == 6)
                id = MNT_TABDIFF_UMOUNT;
-       else if (strncasecmp(name, "remount", namesz) == 0 && namesz == 7)
+       else if (c_strncasecmp(name, "remount", namesz) == 0 && namesz == 7)
                id = MNT_TABDIFF_REMOUNT;
        else
                warnx(_("unknown action: %s"), name);
@@ -396,7 +397,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = column_id_to_name(i);
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index bcdff0614d4ce8630cf3e6c6deb65d64fa927c2d..a96b0056fb4db6b2c95311a939ca7cefc6b674a9 100644 (file)
@@ -56,6 +56,7 @@
 
 #include "all-io.h"
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 #include "nls.h"
 #include "pathnames.h"
@@ -220,7 +221,7 @@ static int decode(const char *name, const CODE *codetab)
                return -1;
        }
        for (c = codetab; c->c_name; c++)
-               if (!strcasecmp(name, c->c_name))
+               if (!c_strcasecmp(name, c->c_name))
                        return (c->c_val);
 
        return -1;
index 0a87256761c0859f82d25368cfa710a4202050bc..376bc6e51d14d67b958214f0066be32823e1f666 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/rtc.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "strutils.h"
 #include "timeutils.h"
@@ -172,7 +173,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index bbf5d38e4e5a1c8a850f38f9c4d3d68f468b674b..6cc743185cad6205450491b5f832f9bbf55bb313 100644 (file)
@@ -43,6 +43,7 @@
 #include "xalloc.h"
 #include "strutils.h"
 #include "c.h"
+#include "cctype.h"
 #include "list.h"
 #include "closestream.h"
 #include "optutils.h"
@@ -552,7 +553,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 7ad1e2e03283fa594daaeb72accaa2da304c1026..98f2aee321ea652b8ff858c22d90d58d634108e1 100644 (file)
@@ -48,6 +48,7 @@
 #include <uuid.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 #include "nls.h"
 #include "optutils.h"
@@ -118,7 +119,7 @@ static int column_name_to_id(const char *name, size_t namesz)
 
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 148907f27b780e0ee9e5595bdd27a1a300c50959..4bd2e5864fbeb10ecfc166054478ac6e08da0bb7 100644 (file)
@@ -40,6 +40,7 @@
 #include "all-io.h"
 #include "match.h"
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 #include "optutils.h"
 #include "blkdev.h"
@@ -126,7 +127,7 @@ static int column_name_to_id(const char *name, size_t namesz)
 
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 6e897ecfbb1812612610f6a3c15b2054b759cd3c..0ac65b103b8dcc16980f44911f75034ee3a45db0 100644 (file)
@@ -19,6 +19,7 @@
 #include "nls.h"
 #include "strutils.h"
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 
 static int tolerant;
@@ -65,7 +66,7 @@ static int parse_ioclass(const char *str)
        size_t i;
 
        for (i = 0; i < ARRAY_SIZE(to_prio); i++)
-               if (!strcasecmp(str, to_prio[i]))
+               if (!c_strcasecmp(str, to_prio[i]))
                        return i;
        return -1;
 }
index 4105d19695b00b7daa8ed98b4a72438752bbc93e..69e04fea73fac5f51dc259f1f421b0f686465b9e 100644 (file)
@@ -25,6 +25,7 @@
 #include <dirent.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "path.h"
 #include "strutils.h"
@@ -84,7 +85,7 @@ static int zone_name_to_id(const char *name)
        size_t i;
 
        for (i = 0; i < ARRAY_SIZE(zone_names); i++) {
-               if (!strcasecmp(name, zone_names[i]))
+               if (!c_strcasecmp(name, zone_names[i]))
                        return i;
        }
        return -1;
@@ -133,7 +134,7 @@ static int chmem_size(struct chmem_desc *desc, int enable, int zone_id)
                                zn = zone_names[zone_id];
                                if (enable && !strcasestr(line, zn))
                                        continue;
-                               if (!enable && strncasecmp(line, zn, strlen(zn)) != 0)
+                               if (!enable && c_strncasecmp(line, zn, strlen(zn)) != 0)
                                        continue;
                        } else if (enable) {
                                /* By default, use zone Movable for online, if valid */
@@ -218,7 +219,7 @@ static int chmem_range(struct chmem_desc *desc, int enable, int zone_id)
                                        warnx(_("%s enable failed: Zone mismatch"), str);
                                        continue;
                                }
-                               if (!enable && strncasecmp(line, zn, strlen(zn)) != 0) {
+                               if (!enable && c_strncasecmp(line, zn, strlen(zn)) != 0) {
                                        warnx(_("%s disable failed: Zone mismatch"), str);
                                        continue;
                                }
index 75ca4b6881f8f8294271341c379dbb03fcf4fbd3..dc9a2877ab5eb4a0ad91251e4a5259ab7c441015 100644 (file)
@@ -29,6 +29,7 @@
 #include <fcntl.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "colors.h"
 #include "nls.h"
 #include "strutils.h"
@@ -460,7 +461,7 @@ static int parse_level(const char *str, size_t len)
                for (i = 0; i < ARRAY_SIZE(level_names); i++) {
                        const char *n = level_names[i].name;
 
-                       if (strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
+                       if (c_strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
                                return i + offset;
                }
        }
@@ -498,7 +499,7 @@ static int parse_facility(const char *str, size_t len)
                for (i = 0; i < ARRAY_SIZE(facility_names); i++) {
                        const char *n = facility_names[i].name;
 
-                       if (strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
+                       if (c_strncasecmp(str, n, len) == 0 && *(n + len) == '\0')
                                return i;
                }
        }
index f069d8a631ffe9add8435df847525148803f5fb1..e546fccf39d8f052dd864847b49d87b2468ba142 100644 (file)
@@ -25,6 +25,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "pathnames.h"
 #include "strutils.h"
@@ -89,7 +90,7 @@ int irq_column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
@@ -407,13 +408,13 @@ static void sort_result(struct irq_output *out,
 
 void set_sort_func_by_name(struct irq_output *out, const char *name)
 {
-       if (strcasecmp(name, "IRQ") == 0)
+       if (c_strcasecmp(name, "IRQ") == 0)
                out->sort_cmp_func = cmp_interrupts;
-       else if (strcasecmp(name, "TOTAL") == 0)
+       else if (c_strcasecmp(name, "TOTAL") == 0)
                out->sort_cmp_func = cmp_total;
-       else if (strcasecmp(name, "DELTA") == 0)
+       else if (c_strcasecmp(name, "DELTA") == 0)
                out->sort_cmp_func = cmp_delta;
-       else if (strcasecmp(name, "NAME") == 0)
+       else if (c_strcasecmp(name, "NAME") == 0)
                out->sort_cmp_func = cmp_name;
        else
                errx(EXIT_FAILURE, _("unsupported column name to sort output"));
index 2a24b3d6f414622c58972da9e5df25752b16258a..e06047c71cd1b74d80bbc63649e7e235b7e46fcb 100644 (file)
@@ -22,6 +22,7 @@
 #include <unistd.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "all-io.h"
 #include "nls.h"
 #include "strutils.h"
@@ -152,7 +153,7 @@ static int lookup_table(const struct ld_table *tab, const char *str)
        const struct ld_table *t;
 
        for (t = tab; t && t->name; t++)
-               if (!strcasecmp(t->name, str))
+               if (!c_strcasecmp(t->name, str))
                        return t->value;
        return -1;
 }
index 7134542c4c25d3e2becf2473fec1969228757f78..eafab72f3df614f9fe45f815466dd6106a83354c 100644 (file)
@@ -26,6 +26,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "strutils.h"
 #include "loopdev.h"
@@ -124,7 +125,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index ffec37206587aff100830b6717a13d82c9ead686..108efb1d69bcf023d5cb3f741604f847d6f3eaa8 100644 (file)
@@ -29,6 +29,7 @@
 
 #include <libsmartcols.h>
 
+#include "cctype.h"
 #include "closestream.h"
 #include "optutils.h"
 #include "c_strtod.h"
@@ -186,7 +187,7 @@ cpu_column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(coldescs_cpu); i++) {
                const char *cn = coldescs_cpu[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
@@ -201,7 +202,7 @@ cache_column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(coldescs_cache); i++) {
                const char *cn = coldescs_cache[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 133957ea9a30dfc651e11c890402e7203549bc60..693be9b120256d483385525f1a4345dc768354dc 100644 (file)
@@ -35,6 +35,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "closestream.h"
 #include "strutils.h"
@@ -244,7 +245,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(coldescs); i++) {
                const char *cn = coldescs[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz)) {
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz)) {
                        if (i > COL_CTIME) {
                                if (i >= LOWER && i <= UPPER)
                                        return i;
index 9aa674581058a727527345a0503c4f894607a125..2b79114113a0910cff777739a938651210584cbe 100644 (file)
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  */
-#include <c.h>
-#include <nls.h>
-#include <path.h>
-#include <strutils.h>
-#include <closestream.h>
-#include <xalloc.h>
-#include <getopt.h>
-#include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <getopt.h>
+#include <stdbool.h>
 #include <dirent.h>
 #include <fcntl.h>
 #include <inttypes.h>
 #include <assert.h>
-#include <optutils.h>
+
 #include <libsmartcols.h>
 
+#include "c.h"
+#include "cctype.h"
+#include "nls.h"
+#include "path.h"
+#include "strutils.h"
+#include "closestream.h"
+#include "xalloc.h"
+#include "optutils.h"
+
 #define _PATH_SYS_MEMORY               "/sys/devices/system/memory"
 
 #define MEMORY_STATE_ONLINE            0
@@ -150,7 +153,7 @@ static int zone_name_to_id(const char *name)
        size_t i;
 
        for (i = 0; i < ARRAY_SIZE(zone_names); i++) {
-               if (!strcasecmp(name, zone_names[i]))
+               if (!c_strcasecmp(name, zone_names[i]))
                        return i;
        }
        return ZONE_UNKNOWN;
@@ -166,7 +169,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(coldescs); i++) {
                const char *cn = coldescs[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
@@ -737,7 +740,7 @@ int main(int argc, char **argv)
                int split[ARRAY_SIZE(coldescs)] = { 0 };
                static size_t nsplits = 0;
 
-               if (strcasecmp(splitarg, "none") == 0)
+               if (c_strcasecmp(splitarg, "none") == 0)
                        ;
                else if (string_add_to_idarray(splitarg, split, ARRAY_SIZE(split),
                                        &nsplits, column_name_to_id) < 0)
index fc590f8b4fe17016148413f1ab3e27daab0dcebe..812afe710fbd930b370f01480476bd607a668e27 100644 (file)
@@ -42,6 +42,7 @@
 #include "nls.h"
 #include "xalloc.h"
 #include "c.h"
+#include "cctype.h"
 #include "widechar.h"
 #include "list.h"
 #include "closestream.h"
@@ -271,7 +272,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 57c11fb4dc57d1abd8e9fabc802a6a8a9b3fb47b..fbab0082bb21b590b7d8fa88b6d413db9b0b8c39 100644 (file)
@@ -24,6 +24,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "xalloc.h"
 #include "strutils.h"
@@ -277,7 +278,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 860e86425f575a527102b346de29928adb12accf..d1c38b0c0cb38436809abd06f6532cdc58aac676 100644 (file)
@@ -30,6 +30,7 @@
 #include <sys/time.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "closestream.h"
 #include "nls.h"
 #include "optutils.h"
@@ -156,7 +157,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 15efa481a2e5372d5d6f31917e79169e48c2b405..76678575e41e7f7c76fca960d0807956e2e7fbaf 100644 (file)
@@ -29,6 +29,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "bitops.h"
 #include "blkdev.h"
@@ -158,7 +159,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index ba013a3b461c3d5afa6ae3c73533a575ebe360b0..6559b544176ddd1546e811ec402762a430b4973b 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "nls.h"
 #include "c.h"
+#include "cctype.h"
 #include "xalloc.h"
 #include "closestream.h"
 #include "optutils.h"
@@ -165,7 +166,7 @@ static long name2bit(const char *name, size_t namesz)
 
        for (i = 0; i < ARRAY_SIZE(wdflags); i++) {
                const char *cn = wdflags[i].name;
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return wdflags[i].flag;
        }
        warnx(_("unknown flag: %s"), name);
@@ -178,7 +179,7 @@ static int column2id(const char *name, size_t namesz)
 
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index dfe752bc4eb5b44da404e9b1c8be841741517e97..9aa72963f0a2e7f878db1408ddaac66bc2000980 100644 (file)
@@ -29,6 +29,7 @@
 #include <libsmartcols.h>
 
 #include "c.h"
+#include "cctype.h"
 #include "nls.h"
 #include "closestream.h"
 #include "strutils.h"
@@ -143,7 +144,7 @@ static int column_name_to_id(const char *name, size_t namesz)
        for (i = 0; i < ARRAY_SIZE(infos); i++) {
                const char *cn = infos[i].name;
 
-               if (!strncasecmp(name, cn, namesz) && !*(cn + namesz))
+               if (!c_strncasecmp(name, cn, namesz) && !*(cn + namesz))
                        return i;
        }
        warnx(_("unknown column: %s"), name);
index 4da25fa2e63e6d3608783f8a2dbd0a8fded4ba6a..90070248d49c1b50b6dd5dfa518a05245ad5d433 100644 (file)
@@ -58,6 +58,7 @@
 #include "closestream.h"
 #include "nls.h"
 #include "c.h"
+#include "cctype.h"
 #include "ttyutils.h"
 #include "all-io.h"
 #include "monotonic.h"
@@ -864,9 +865,9 @@ int main(int argc, char **argv)
                        ctl.quiet = 1;
                        break;
                case 'm':
-                       if (strcasecmp(optarg, "classic") == 0)
+                       if (c_strcasecmp(optarg, "classic") == 0)
                                format = SCRIPT_FMT_TIMING_SIMPLE;
-                       else if (strcasecmp(optarg, "advanced") == 0)
+                       else if (c_strcasecmp(optarg, "advanced") == 0)
                                format = SCRIPT_FMT_TIMING_MULTI;
                        else
                                errx(EXIT_FAILURE, _("unsupported logging format: '%s'"), optarg);
index 5ceaa3f6c846133c75a611ed0a4664caf1e73511..f7673c8653edf11e1fff77e94d33dca2df4ab940 100644 (file)
@@ -18,6 +18,7 @@
  */
 
 #include "c.h"
+#include "cctype.h"
 #include "xalloc.h"
 #include "test_mkfds.h"
 #include "exitcodes.h"
@@ -242,10 +243,10 @@ static union value boolean_read(const char *arg, const union value *defv)
        if (!arg)
                return *defv;
 
-       if (strcasecmp(arg, "true") == 0
+       if (c_strcasecmp(arg, "true") == 0
            || strcmp(arg, "1") == 0
-           || strcasecmp(arg, "yes") == 0
-           || strcasecmp(arg, "y") == 0)
+           || c_strcasecmp(arg, "yes") == 0
+           || c_strcasecmp(arg, "y") == 0)
                r.boolean = true;
        else
                r.boolean = false;