aboutsummaryrefslogtreecommitdiff
path: root/include/xatonum.h
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-06-12 20:54:54 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-06-12 20:54:54 +0000
commit3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf (patch)
treeea3c3db1efdd618bf819f97d73f93f276f309137 /include/xatonum.h
parentfdcbc4e7095c225a8586dcb96a7a99c2d1007aeb (diff)
downloadbusybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.tar.gz
busybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.tar.bz2
busybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.zip
diff: shrink code (-85 bytes):
function old new delta fiddle_sum 8 - -8 diffreg 2717 2690 -27 prepare 334 284 -50 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-85) Total: -85 bytes s/ATTRIBUTE_ALWAYS_INLINE/ALWAYS_INLINE/g
Diffstat (limited to 'include/xatonum.h')
-rw-r--r--include/xatonum.h44
1 files changed, 22 insertions, 22 deletions
diff --git a/include/xatonum.h b/include/xatonum.h
index cf088a49e..e613fce6b 100644
--- a/include/xatonum.h
+++ b/include/xatonum.h
@@ -33,46 +33,46 @@ DECLARE_STR_CONV(long long, ll, ull)
33/* (useful for mapping them to the type of the same width) */ 33/* (useful for mapping them to the type of the same width) */
34#define DEFINE_EQUIV_STR_CONV(narrow, N, W, UN, UW) \ 34#define DEFINE_EQUIV_STR_CONV(narrow, N, W, UN, UW) \
35\ 35\
36static ATTRIBUTE_ALWAYS_INLINE \ 36static ALWAYS_INLINE \
37unsigned narrow xstrto##UN##_range_sfx(const char *str, int b, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \ 37unsigned narrow xstrto##UN##_range_sfx(const char *str, int b, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \
38{ return xstrto##UW##_range_sfx(str, b, l, u, sfx); } \ 38{ return xstrto##UW##_range_sfx(str, b, l, u, sfx); } \
39static ATTRIBUTE_ALWAYS_INLINE \ 39static ALWAYS_INLINE \
40unsigned narrow xstrto##UN##_range(const char *str, int b, unsigned narrow l, unsigned narrow u) \ 40unsigned narrow xstrto##UN##_range(const char *str, int b, unsigned narrow l, unsigned narrow u) \
41{ return xstrto##UW##_range(str, b, l, u); } \ 41{ return xstrto##UW##_range(str, b, l, u); } \
42static ATTRIBUTE_ALWAYS_INLINE \ 42static ALWAYS_INLINE \
43unsigned narrow xstrto##UN##_sfx(const char *str, int b, const struct suffix_mult *sfx) \ 43unsigned narrow xstrto##UN##_sfx(const char *str, int b, const struct suffix_mult *sfx) \
44{ return xstrto##UW##_sfx(str, b, sfx); } \ 44{ return xstrto##UW##_sfx(str, b, sfx); } \
45static ATTRIBUTE_ALWAYS_INLINE \ 45static ALWAYS_INLINE \
46unsigned narrow xstrto##UN(const char *str, int b) \ 46unsigned narrow xstrto##UN(const char *str, int b) \
47{ return xstrto##UW(str, b); } \ 47{ return xstrto##UW(str, b); } \
48static ATTRIBUTE_ALWAYS_INLINE \ 48static ALWAYS_INLINE \
49unsigned narrow xato##UN##_range_sfx(const char *str, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \ 49unsigned narrow xato##UN##_range_sfx(const char *str, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \
50{ return xato##UW##_range_sfx(str, l, u, sfx); } \ 50{ return xato##UW##_range_sfx(str, l, u, sfx); } \
51static ATTRIBUTE_ALWAYS_INLINE \ 51static ALWAYS_INLINE \
52unsigned narrow xato##UN##_range(const char *str, unsigned narrow l, unsigned narrow u) \ 52unsigned narrow xato##UN##_range(const char *str, unsigned narrow l, unsigned narrow u) \
53{ return xato##UW##_range(str, l, u); } \ 53{ return xato##UW##_range(str, l, u); } \
54static ATTRIBUTE_ALWAYS_INLINE \ 54static ALWAYS_INLINE \
55unsigned narrow xato##UN##_sfx(const char *str, const struct suffix_mult *sfx) \ 55unsigned narrow xato##UN##_sfx(const char *str, const struct suffix_mult *sfx) \
56{ return xato##UW##_sfx(str, sfx); } \ 56{ return xato##UW##_sfx(str, sfx); } \
57static ATTRIBUTE_ALWAYS_INLINE \ 57static ALWAYS_INLINE \
58unsigned narrow xato##UN(const char *str) \ 58unsigned narrow xato##UN(const char *str) \
59{ return xato##UW(str); } \ 59{ return xato##UW(str); } \
60static ATTRIBUTE_ALWAYS_INLINE \ 60static ALWAYS_INLINE \
61narrow xstrto##N##_range_sfx(const char *str, int b, narrow l, narrow u, const struct suffix_mult *sfx) \ 61narrow xstrto##N##_range_sfx(const char *str, int b, narrow l, narrow u, const struct suffix_mult *sfx) \
62{ return xstrto##W##_range_sfx(str, b, l, u, sfx); } \ 62{ return xstrto##W##_range_sfx(str, b, l, u, sfx); } \
63static ATTRIBUTE_ALWAYS_INLINE \ 63static ALWAYS_INLINE \
64narrow xstrto##N##_range(const char *str, int b, narrow l, narrow u) \ 64narrow xstrto##N##_range(const char *str, int b, narrow l, narrow u) \
65{ return xstrto##W##_range(str, b, l, u); } \ 65{ return xstrto##W##_range(str, b, l, u); } \
66static ATTRIBUTE_ALWAYS_INLINE \ 66static ALWAYS_INLINE \
67narrow xato##N##_range_sfx(const char *str, narrow l, narrow u, const struct suffix_mult *sfx) \ 67narrow xato##N##_range_sfx(const char *str, narrow l, narrow u, const struct suffix_mult *sfx) \
68{ return xato##W##_range_sfx(str, l, u, sfx); } \ 68{ return xato##W##_range_sfx(str, l, u, sfx); } \
69static ATTRIBUTE_ALWAYS_INLINE \ 69static ALWAYS_INLINE \
70narrow xato##N##_range(const char *str, narrow l, narrow u) \ 70narrow xato##N##_range(const char *str, narrow l, narrow u) \
71{ return xato##W##_range(str, l, u); } \ 71{ return xato##W##_range(str, l, u); } \
72static ATTRIBUTE_ALWAYS_INLINE \ 72static ALWAYS_INLINE \
73narrow xato##N##_sfx(const char *str, const struct suffix_mult *sfx) \ 73narrow xato##N##_sfx(const char *str, const struct suffix_mult *sfx) \
74{ return xato##W##_sfx(str, sfx); } \ 74{ return xato##W##_sfx(str, sfx); } \
75static ATTRIBUTE_ALWAYS_INLINE \ 75static ALWAYS_INLINE \
76narrow xato##N(const char *str) \ 76narrow xato##N(const char *str) \
77{ return xato##W(str); } \ 77{ return xato##W(str); } \
78 78
@@ -96,7 +96,7 @@ DECLARE_STR_CONV(int, i, u)
96/* Specialized */ 96/* Specialized */
97 97
98int BUG_xatou32_unimplemented(void); 98int BUG_xatou32_unimplemented(void);
99static ATTRIBUTE_ALWAYS_INLINE uint32_t xatou32(const char *numstr) 99static ALWAYS_INLINE uint32_t xatou32(const char *numstr)
100{ 100{
101 if (UINT_MAX == 0xffffffff) 101 if (UINT_MAX == 0xffffffff)
102 return xatou(numstr); 102 return xatou(numstr);
@@ -111,10 +111,10 @@ unsigned long long bb_strtoull(const char *arg, char **endp, int base);
111long long bb_strtoll(const char *arg, char **endp, int base); 111long long bb_strtoll(const char *arg, char **endp, int base);
112 112
113#if ULONG_MAX == ULLONG_MAX 113#if ULONG_MAX == ULLONG_MAX
114static ATTRIBUTE_ALWAYS_INLINE 114static ALWAYS_INLINE
115unsigned long bb_strtoul(const char *arg, char **endp, int base) 115unsigned long bb_strtoul(const char *arg, char **endp, int base)
116{ return bb_strtoull(arg, endp, base); } 116{ return bb_strtoull(arg, endp, base); }
117static ATTRIBUTE_ALWAYS_INLINE 117static ALWAYS_INLINE
118long bb_strtol(const char *arg, char **endp, int base) 118long bb_strtol(const char *arg, char **endp, int base)
119{ return bb_strtoll(arg, endp, base); } 119{ return bb_strtoll(arg, endp, base); }
120#else 120#else
@@ -123,17 +123,17 @@ long bb_strtol(const char *arg, char **endp, int base);
123#endif 123#endif
124 124
125#if UINT_MAX == ULLONG_MAX 125#if UINT_MAX == ULLONG_MAX
126static ATTRIBUTE_ALWAYS_INLINE 126static ALWAYS_INLINE
127unsigned bb_strtou(const char *arg, char **endp, int base) 127unsigned bb_strtou(const char *arg, char **endp, int base)
128{ return bb_strtoull(arg, endp, base); } 128{ return bb_strtoull(arg, endp, base); }
129static ATTRIBUTE_ALWAYS_INLINE 129static ALWAYS_INLINE
130int bb_strtoi(const char *arg, char **endp, int base) 130int bb_strtoi(const char *arg, char **endp, int base)
131{ return bb_strtoll(arg, endp, base); } 131{ return bb_strtoll(arg, endp, base); }
132#elif UINT_MAX == ULONG_MAX 132#elif UINT_MAX == ULONG_MAX
133static ATTRIBUTE_ALWAYS_INLINE 133static ALWAYS_INLINE
134unsigned bb_strtou(const char *arg, char **endp, int base) 134unsigned bb_strtou(const char *arg, char **endp, int base)
135{ return bb_strtoul(arg, endp, base); } 135{ return bb_strtoul(arg, endp, base); }
136static ATTRIBUTE_ALWAYS_INLINE 136static ALWAYS_INLINE
137int bb_strtoi(const char *arg, char **endp, int base) 137int bb_strtoi(const char *arg, char **endp, int base)
138{ return bb_strtol(arg, endp, base); } 138{ return bb_strtol(arg, endp, base); }
139#else 139#else
@@ -142,7 +142,7 @@ int bb_strtoi(const char *arg, char **endp, int base);
142#endif 142#endif
143 143
144int BUG_bb_strtou32_unimplemented(void); 144int BUG_bb_strtou32_unimplemented(void);
145static ATTRIBUTE_ALWAYS_INLINE 145static ALWAYS_INLINE
146uint32_t bb_strtou32(const char *arg, char **endp, int base) 146uint32_t bb_strtou32(const char *arg, char **endp, int base)
147{ 147{
148 if (sizeof(uint32_t) == sizeof(unsigned)) 148 if (sizeof(uint32_t) == sizeof(unsigned))