]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
util: expose urlsafe_base64char()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 2 Jun 2021 13:46:47 +0000 (22:46 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 3 Jun 2021 16:48:50 +0000 (01:48 +0900)
src/basic/hexdecoct.c
src/basic/hexdecoct.h
src/nspawn/nspawn-network.c

index a5edccad2027ec7142a6e449ffb9f0e67969560a..da1add7c76a41fa5ffe5dc0c3e09100896bfa58c 100644 (file)
@@ -526,6 +526,16 @@ char base64char(int x) {
         return table[x & 63];
 }
 
+/* This is almost base64char(), but not entirely, as it uses the "url and filename safe" alphabet,
+ * since we don't want "/" appear in interface names (since interfaces appear in sysfs as filenames).
+ * See section #5 of RFC 4648. */
+char urlsafe_base64char(int x) {
+        static const char table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+                                      "abcdefghijklmnopqrstuvwxyz"
+                                      "0123456789-_";
+        return table[x & 63];
+}
+
 int unbase64char(char c) {
         unsigned offset;
 
index 7e2a6892c0a5b66d3606f4ce4a5b2cbc4088684f..4ace5b7a9957fc99a34b58e1b2ab471d5d7026a8 100644 (file)
@@ -27,6 +27,7 @@ char base32hexchar(int x) _const_;
 int unbase32hexchar(char c) _const_;
 
 char base64char(int x) _const_;
+char urlsafe_base64char(int x) _const_;
 int unbase64char(char c) _const_;
 
 char *base32hexmem(const void *p, size_t l, bool padding);
index d6b7d8e1d899550ee9de766678eea254a8bb93f7..95e4b0213b5615331b2364650c35d57358c66f25 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "alloc-util.h"
 #include "ether-addr-util.h"
+#include "hexdecoct.h"
 #include "lockfile-util.h"
 #include "missing_network.h"
 #include "netif-naming-scheme.h"
@@ -200,16 +201,6 @@ static int add_veth(
         return 0;
 }
 
-/* This is almost base64char(), but not entirely, as it uses the "url and filename safe" alphabet, since we
- * don't want "/" appear in interface names (since interfaces appear in sysfs as filenames). See section #5
- * of RFC 4648. */
-static char urlsafe_base64char(int x) {
-        static const char table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-                                      "abcdefghijklmnopqrstuvwxyz"
-                                      "0123456789-_";
-        return table[x & 63];
-}
-
 static int shorten_ifname(char *ifname) {
         char new_ifname[IFNAMSIZ];