0c603eaa8a3d61570f67c54d6a96f63efbeeb7a8
galt
  Fri Aug 10 16:41:12 2012 -0700
oops - some sort of editing error left sizes/types incorrect - easily fixed here.
diff --git src/lib/linefile.c src/lib/linefile.c
index d67188e..91720c8 100644
--- src/lib/linefile.c
+++ src/lib/linefile.c
@@ -1046,47 +1046,47 @@
     case 1:
 	if (isSigned)
 	    {
 	    if (isMinus)
 		*(char *)val = -res;
 	    else
 		*(char *)val = res;
 	    }
 	else
 	    *(unsigned char *)val = res;
 	break;
     case 2:
 	if (isSigned)
 	    {
 	    if (isMinus)
-		*(int *)val = -res;
+		*(short *)val = -res;
 	    else
-		*(int *)val = res;
+		*(short *)val = res;
 	    }
 	else
-	    *(unsigned *)val = res;
+	    *(unsigned short *)val = res;
 	break;
     case 4:
 	if (isSigned)
 	    {
 	    if (isMinus)
-		*(long long *)val = -res;
+		*(int *)val = -res;
 	    else
-		*(long long *)val = res;
+		*(int *)val = res;
 	    }
 	else
-	    *(unsigned long long *)val = res;
+	    *(unsigned *)val = res;
 	break;
     case 8:
 	if (isSigned)
 	    {
 	    if (isMinus)
 		*(long long *)val = -res;
 	    else
 		*(long long *) val =res;
 	    }
 	else
 	    *(unsigned long long *)val = res;
 	break;
     }