summaryrefslogtreecommitdiff
path: root/src/gf_general.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gf_general.c')
-rw-r--r--src/gf_general.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gf_general.c b/src/gf_general.c
index 9980c97..5faced9 100644
--- a/src/gf_general.c
+++ b/src/gf_general.c
@@ -142,23 +142,23 @@ int gf_general_s_to_val(gf_general_t *v, int w, char *s, int hex)
if (v->w32 & ~((1 << w)-1)) return 0;
return 1;
} else if (w <= 64) {
- if (hex) return (sscanf(s, "%llx", &(v->w64)) == 1);
- return (sscanf(s, "%lld", &(v->w64)) == 1);
+ if (hex) return (sscanf(s, "%llx", (long long unsigned int *) (&(v->w64))) == 1);
+ return (sscanf(s, "%lld", (long long int *) (&(v->w64))) == 1);
} else {
if (!hex) return 0;
l = strlen(s);
if (l <= 16) {
v->w128[0] = 0;
- return (sscanf(s, "%llx", &(v->w128[1])) == 1);
+ return (sscanf(s, "%llx", (long long unsigned int *) (&(v->w128[1]))) == 1);
} else {
if (l > 32) return 0;
save = s[l-16];
s[l-16] = '\0';
- if (sscanf(s, "%llx", &(v->w128[0])) == 0) {
+ if (sscanf(s, "%llx", (long long unsigned int *) (&(v->w128[0]))) == 0) {
s[l-16] = save;
return 0;
}
- return (sscanf(s+(l-16), "%llx", &(v->w128[1])) == 1);
+ return (sscanf(s+(l-16), "%llx", (long long unsigned int *) (&(v->w128[1]))) == 1);
}
}
}