Browse Source

opt: increase testing coverage on 64 bit platforms

Help the compiler eliminate untestable code.
Rusty Russell 14 years ago
parent
commit
cf1b26db4b
1 changed files with 4 additions and 2 deletions
  1. 4 2
      ccan/opt/helpers.c

+ 4 - 2
ccan/opt/helpers.c

@@ -258,7 +258,8 @@ static char * set_long_with_suffix(const char *arg, long *l, const long base)
 		return err;
 
 	*l = ll;
-	if (*l != ll)
+	/* Beware truncation, but don't generate untestable code. */
+	if (sizeof(*l) != sizeof(ll) && *l != ll)
 		return arg_bad("value '%s' does not fit into a long", arg);
 	return NULL;
 }
@@ -272,7 +273,8 @@ static char * set_ulong_with_suffix(const char *arg, unsigned long *ul, const lo
 	if (ll < 0)
 		return arg_bad("'%s' is negative but destination is unsigned", arg);
 	*ul = ll;
-	if (*ul != ll)
+	/* Beware truncation, but don't generate untestable code. */
+	if (sizeof(*ul) != sizeof(ll) && *ul != ll)
 		return arg_bad("value '%s' does not fit into an unsigned long", arg);
 	return NULL;
 }