changeset 618:ca6e72746161

[project @ 1994-08-15 04:44:32 by jwe]
author jwe
date Mon, 15 Aug 1994 04:44:32 +0000
parents 5acc6db54c8f
children 8778be2e70e7
files src/load-save.cc
diffstat 1 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/load-save.cc	Mon Aug 15 04:32:29 1994 +0000
+++ b/src/load-save.cc	Mon Aug 15 04:44:32 1994 +0000
@@ -437,6 +437,14 @@
       LS_DO_READ (unsigned TWO_BYTE_INT, data, 2, len, is);
       break;
 
+    case LS_U_INT:
+      LS_DO_READ (unsigned FOUR_BYTE_INT, data, 4, len, is);
+      break;
+
+    case LS_CHAR:
+      LS_DO_READ (signed char, data, 1, len, is);
+      break;
+
     case LS_SHORT:
       LS_DO_READ (TWO_BYTE_INT, data, 2, len, is);
       break;
@@ -1879,6 +1887,9 @@
   return 0;
 }
 
+// MAX_VAL and MIN_VAL are assumed to have integral values even though
+// they are stored in doubles.
+
 static save_type
 get_save_type (double max_val, double min_val)
 {
@@ -1888,6 +1899,10 @@
     st = LS_U_CHAR;
   else if (max_val < 65536 && min_val > -1)
     st = LS_U_SHORT;
+  else if (max_val < 4294967295 && min_val > -1)
+    st = LS_U_INT;
+  else if (max_val < 128 && min_val >= -128)
+    st = LS_CHAR;
   else if (max_val < 32768 && min_val >= -32768)
     st = LS_SHORT;
   else if (max_val < 2147483648 && min_val > -2147483648)