parser.y: fix implicit conversion warning
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 1 Jun 2018 17:02:06 +0000 (19:02 +0200)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 1 Jun 2018 17:02:06 +0000 (19:02 +0200)
  CC       src/liboconfig/liboconfig_la-parser.lo
src/liboconfig/parser.y:273:8: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
        len = strlen (ret);
            ~ ^~~~~~~~~~~~
1 warning generated.

src/liboconfig/parser.y

index 90f51de..0afc9b5 100644 (file)
@@ -265,12 +265,10 @@ static void yyerror(const char *s)
 static char *unquote (const char *orig)
 {
        char *ret = strdup (orig);
 static char *unquote (const char *orig)
 {
        char *ret = strdup (orig);
-       int len;
-
        if (ret == NULL)
                return (NULL);
 
        if (ret == NULL)
                return (NULL);
 
-       len = strlen (ret);
+       size_t len = strlen (ret);
 
        if ((len < 2) || (ret[0] != '"') || (ret[len - 1] != '"'))
                return (ret);
 
        if ((len < 2) || (ret[0] != '"') || (ret[len - 1] != '"'))
                return (ret);
@@ -279,7 +277,7 @@ static char *unquote (const char *orig)
        memmove (ret, ret + 1, len);
        ret[len] = 0;
 
        memmove (ret, ret + 1, len);
        ret[len] = 0;
 
-       for (int i = 0; i < len; i++)
+       for (size_t i = 0; i < len; i++)
        {
                if (ret[i] == '\\')
                {
        {
                if (ret[i] == '\\')
                {