chiark / gitweb /
util-lib: add parse_percent_unbounded() for percentages over 100% (#3886)
[elogind.git] / src / basic / parse-util.h
index 9b1aebdb51d50da661a2c75c618196a3816a25a3..e9e270904e77ce2aa2d3d0ea6271842cc3785f6f 100644 (file)
@@ -35,7 +35,6 @@ int parse_mode(const char *s, mode_t *ret);
 int parse_ifindex(const char *s, int *ret);
 
 int parse_size(const char *t, uint64_t base, uint64_t *size);
-
 #if 0 /// UNNEEDED by elogind
 int parse_range(const char *t, unsigned *lower, unsigned *upper);
 
@@ -96,7 +95,7 @@ static inline int safe_atoli(const char *s, long int *ret_u) {
 #if SIZE_MAX == UINT_MAX
 static inline int safe_atozu(const char *s, size_t *ret_u) {
         assert_cc(sizeof(size_t) == sizeof(unsigned));
-        return safe_atou(s, ret_u);
+        return safe_atou(s, (unsigned *) ret_u);
 }
 #else
 static inline int safe_atozu(const char *s, size_t *ret_u) {
@@ -108,3 +107,6 @@ static inline int safe_atozu(const char *s, size_t *ret_u) {
 int safe_atod(const char *s, double *ret_d);
 
 int parse_fractional_part_u(const char **s, size_t digits, unsigned *res);
+
+int parse_percent_unbounded(const char *p);
+int parse_percent(const char *p);