dmenu-caseinsensitive-20200523-db6093f.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
dmenu-caseinsensitive-20200523-db6093f.diff (1395B)
---
1 From 54acbdf72083a5eae5783eed42e162424ab2cec2 Mon Sep 17 00:00:00 2001
2 From: Kim Torgersen <kim@torgersen.se>
3 Date: Sat, 23 May 2020 14:48:28 +0200
4 Subject: [PATCH] case-insensitive item matching default, case-sensitive option
5 (-s)
6
7 ---
8 dmenu.c | 11 ++++++-----
9 1 file changed, 6 insertions(+), 5 deletions(-)
10
11 diff --git a/dmenu.c b/dmenu.c
12 index 65f25ce..855df59 100644
13 --- a/dmenu.c
14 +++ b/dmenu.c
15 @@ -55,8 +55,9 @@ static Clr *scheme[SchemeLast];
16
17 #include "config.h"
18
19 -static int (*fstrncmp)(const char *, const char *, size_t) = strncmp;
20 -static char *(*fstrstr)(const char *, const char *) = strstr;
21 +static char * cistrstr(const char *s, const char *sub);
22 +static int (*fstrncmp)(const char *, const char *, size_t) = strncasecmp;
23 +static char *(*fstrstr)(const char *, const char *) = cistrstr;
24
25 static void
26 appenditem(struct item *item, struct item **list, struct item **last)
27 @@ -709,9 +710,9 @@ main(int argc, char *argv[])
28 topbar = 0;
29 else if (!strcmp(argv[i], "-f")) /* grabs keyboard before reading stdin */
30 fast = 1;
31 - else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */
32 - fstrncmp = strncasecmp;
33 - fstrstr = cistrstr;
34 + else if (!strcmp(argv[i], "-s")) { /* case-sensitive item matching */
35 + fstrncmp = strncmp;
36 + fstrstr = strstr;
37 } else if (i + 1 == argc)
38 usage();
39 /* these options take one argument */
40 --
41 2.26.2
42