]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Made calculations use "int64_t"
authorAlan T. DeKok <aland@freeradius.org>
Thu, 23 Dec 2010 08:59:31 +0000 (09:59 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 23 Dec 2010 08:59:31 +0000 (09:59 +0100)
src/modules/rlm_expr/rlm_expr.c

index 6b0456b53b8a2a45a70e1189ebe79cb398e0c936..445004bbf9bfef073a904e6a8ac389906b7f9101 100644 (file)
@@ -65,11 +65,11 @@ static expr_map_t map[] =
        {0,     TOKEN_LAST}
 };
 
-static int get_number(REQUEST *request, const char **string, int *answer)
+static int get_number(REQUEST *request, const char **string, int64_t *answer)
 {
        int             i, found;
-       uint32_t        result;
-       int             x;
+       int64_t         result;
+       int64_t         x;
        const char      *p;
        expr_token_t    this;
 
@@ -220,7 +220,8 @@ static size_t expr_xlat(void *instance, REQUEST *request, char *fmt,
                        char *out, size_t outlen,
                     RADIUS_ESCAPE_STRING func)
 {
-       int             rcode, result;
+       int             rcode;
+       int64_t         result;
        rlm_expr_t      *inst = instance;
        const           char *p;
        char            buffer[256];
@@ -249,7 +250,7 @@ static size_t expr_xlat(void *instance, REQUEST *request, char *fmt,
                return 0;
        }
 
-       snprintf(out, outlen, "%d", result);
+       snprintf(out, outlen, "%ld", (long int) result);
        return strlen(out);
 }