r2960 - trunk/varnish-cache/lib/libvarnish
phk at projects.linpro.no
phk at projects.linpro.no
Sat Jul 19 13:33:25 CEST 2008
Author: phk
Date: 2008-07-19 13:33:24 +0200 (Sat, 19 Jul 2008)
New Revision: 2960
Modified:
trunk/varnish-cache/lib/libvarnish/num.c
Log:
FlexeLint inspired polishing:
Detect empty args.
Handle 'b' suffix in switch.
Modified: trunk/varnish-cache/lib/libvarnish/num.c
===================================================================
--- trunk/varnish-cache/lib/libvarnish/num.c 2008-07-19 10:40:13 UTC (rev 2959)
+++ trunk/varnish-cache/lib/libvarnish/num.c 2008-07-19 11:33:24 UTC (rev 2960)
@@ -45,6 +45,9 @@
double fval;
char *end;
+ if (p == NULL || *p == '\0')
+ return ("missing number");
+
fval = strtod(p, &end);
if (end == p || !isfinite(fval))
return ("Invalid number");
@@ -88,12 +91,13 @@
fval *= (uintmax_t)1 << 60;
++end;
break;
+ case 'b': case 'B':
+ ++end;
+ break;
+ default:
+ break;
}
- /* accept 'b' for 'bytes' */
- if (end[0] == 'b' || end[0] == 'B')
- ++end;
-
if (end[0] != '\0')
return ("Invalid suffix");
}
More information about the varnish-commit
mailing list