]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bootctl: move toupper() implementation to string-util.h
authorLennart Poettering <lennart@poettering.net>
Tue, 19 Jul 2016 18:43:54 +0000 (20:43 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 21 Jul 2016 09:37:58 +0000 (11:37 +0200)
We already have tolower() calls there, hence let's unify this at one place.
Also, update the code to only use ASCII operations, so that we don't end up
being locale dependant.

src/basic/string-util.c
src/basic/string-util.h
src/boot/bootctl.c

index 293a15f9c041cf59f5354829cfdc86b0b0622a20..e9856b90d39215ac3e6e952f0966a362f8c5b5a1 100644 (file)
@@ -323,6 +323,14 @@ char ascii_tolower(char x) {
         return x;
 }
 
+char ascii_toupper(char x) {
+
+        if (x >= 'a' && x <= 'z')
+                return x - 'a' + 'A';
+
+        return x;
+}
+
 char *ascii_strlower(char *t) {
         char *p;
 
@@ -334,6 +342,17 @@ char *ascii_strlower(char *t) {
         return t;
 }
 
+char *ascii_strupper(char *t) {
+        char *p;
+
+        assert(t);
+
+        for (p = t; *p; p++)
+                *p = ascii_toupper(*p);
+
+        return t;
+}
+
 char *ascii_strlower_n(char *t, size_t n) {
         size_t i;
 
index 1209e1e2e14c11853b526891d31b34584c36db68..b75aba63c29d4b8ef0341899f5732f5b6d63f694 100644 (file)
@@ -137,6 +137,9 @@ char ascii_tolower(char x);
 char *ascii_strlower(char *s);
 char *ascii_strlower_n(char *s, size_t n);
 
+char ascii_toupper(char x);
+char *ascii_strupper(char *s);
+
 int ascii_strcasecmp_n(const char *a, const char *b, size_t n);
 int ascii_strcasecmp_nn(const char *a, size_t n, const char *b, size_t m);
 
index d9c389739200dcb6c3e6ff8b41736e36e05b7e84..5c3e7a04a08fb6fe3bed87149b06718076e3689b 100644 (file)
@@ -597,15 +597,6 @@ error:
         return r;
 }
 
-static char* strupper(char *s) {
-        char *p;
-
-        for (p = s; *p; p++)
-                *p = toupper(*p);
-
-        return s;
-}
-
 static int mkdir_one(const char *prefix, const char *suffix) {
         char *p;
 
@@ -654,7 +645,7 @@ static int copy_one_file(const char *esp_path, const char *name, bool force) {
 
                 /* Create the EFI default boot loader name (specified for removable devices) */
                 v = strjoina(esp_path, "/EFI/BOOT/BOOT", name + strlen("systemd-boot"));
-                strupper(strrchr(v, '/') + 1);
+                ascii_strupper(strrchr(v, '/') + 1);
 
                 k = copy_file(p, v, force);
                 if (k < 0 && r == 0)