]> git.itanic.dy.fi Git - rrdd/blobdiff - string.c
onewire_parser.c: Fix compiler warnings about string lengths
[rrdd] / string.c
index 2ae3678d5921afdec7dbaeed76987ff119adfdb4..ca90cb57c640cda70d315bfa6a6ea8e05cb8a246 100644 (file)
--- a/string.c
+++ b/string.c
@@ -4,15 +4,27 @@ int dec_to_int(char *src, char **dst)
 {
        int ret;
 
-       while(((*src < '0') || (*src > '9')) && *src)
-               src++;
+       src = skip_non_numbers(src);
 
        ret = atoi(src);
 
        if (dst) {
-               while(((*src >= '0') && (*src <= '9')) && *src)
-                       src++;
-               *dst = src;
+               *dst = skip_numbers(src);
+       }
+
+       return ret;
+}
+
+long long dec_to_longlong(char *src, char **dst)
+{
+       long long ret;
+
+       src = skip_non_numbers(src);
+
+       ret = atoll(src);
+
+       if (dst) {
+               *dst = skip_numbers(src);
        }
 
        return ret;
@@ -22,15 +34,12 @@ float dec_to_float(char *src, char **dst)
 {
        float ret;
 
-       while(((*src < '0') || (*src > '9')) && *src)
-               src++;
+       src = skip_non_numbers(src);
 
        ret = atof(src);
 
        if (dst) {
-               while((((*src >= '0') && (*src <= '9')) || (*src =='.')) && *src)
-                       src++;
-               *dst = src;
+               *dst = skip_float_numbers(src);
        }
 
        return ret;