]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/atoi/a2i/: Simplify these macros by calling a2i()
authorAlejandro Colomar <alx@kernel.org>
Tue, 3 Dec 2024 01:18:38 +0000 (02:18 +0100)
committerSerge Hallyn <serge@hallyn.com>
Fri, 30 May 2025 20:11:02 +0000 (15:11 -0500)
I applied a similar patch in liba2i, where I've tested it.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/atoi/a2i/a2s.h
lib/atoi/a2i/a2u.h

index 935e109a95f72f5da40a06a0c507cf54df7c227e..f47e4d1f655acfaab93889a8ff62cbeca2ff2b7d 100644 (file)
@@ -8,49 +8,13 @@
 
 #include <config.h>
 
-#include "atoi/a2i/a2s_c.h"
-#include "atoi/a2i/a2s_nc.h"
-
-
-#define a2sh(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2sh_c,                                        \
-               const void *:  a2sh_c,                                        \
-               char *:        a2sh_nc,                                       \
-               void *:        a2sh_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2si(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2si_c,                                        \
-               const void *:  a2si_c,                                        \
-               char *:        a2si_nc,                                       \
-               void *:        a2si_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2sl(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2sl_c,                                        \
-               const void *:  a2sl_c,                                        \
-               char *:        a2sl_nc,                                       \
-               void *:        a2sl_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2sll(n, s, ...)                                                      \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2sll_c,                                       \
-               const void *:  a2sll_c,                                       \
-               char *:        a2sll_nc,                                      \
-               void *:        a2sll_nc                                       \
-       )(n, s, __VA_ARGS__)                                                  \
-)
+#include "atoi/a2i/a2i.h"
+
+
+#define a2sh(...)   a2i(short, __VA_ARGS__)
+#define a2si(...)   a2i(int, __VA_ARGS__)
+#define a2sl(...)   a2i(long, __VA_ARGS__)
+#define a2sll(...)  a2i(long long, __VA_ARGS__)
 
 
 #endif  // include guard
index 2a3852e4533dfd21e37ebc4eba8b0461f7adcb72..e33129be3a1becd206115c387c0f7652774966c2 100644 (file)
@@ -8,49 +8,13 @@
 
 #include <config.h>
 
-#include "atoi/a2i/a2u_c.h"
-#include "atoi/a2i/a2u_nc.h"
-
-
-#define a2uh(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2uh_c,                                        \
-               const void *:  a2uh_c,                                        \
-               char *:        a2uh_nc,                                       \
-               void *:        a2uh_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2ui(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2ui_c,                                        \
-               const void *:  a2ui_c,                                        \
-               char *:        a2ui_nc,                                       \
-               void *:        a2ui_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2ul(n, s, ...)                                                       \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2ul_c,                                        \
-               const void *:  a2ul_c,                                        \
-               char *:        a2ul_nc,                                       \
-               void *:        a2ul_nc                                        \
-       )(n, s, __VA_ARGS__)                                                  \
-)
-
-#define a2ull(n, s, ...)                                                      \
-(                                                                             \
-       _Generic(s,                                                           \
-               const char *:  a2ull_c,                                       \
-               const void *:  a2ull_c,                                       \
-               char *:        a2ull_nc,                                      \
-               void *:        a2ull_nc                                       \
-       )(n, s, __VA_ARGS__)                                                  \
-)
+#include "atoi/a2i/a2i.h"
+
+
+#define a2uh(...)   a2i(unsigned short, __VA_ARGS__)
+#define a2ui(...)   a2i(unsigned int, __VA_ARGS__)
+#define a2ul(...)   a2i(unsigned long, __VA_ARGS__)
+#define a2ull(...)  a2i(unsigned long long, __VA_ARGS__)
 
 
 #endif  // include guard