Fixed bug in val_labs_remove.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 26 Nov 2005 22:49:57 +0000 (22:49 +0000)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 26 Nov 2005 22:49:57 +0000 (22:49 +0000)
Added return value to data_out.

src/ChangeLog
src/data-out.c
src/format.h
src/value-labels.c

index 44d6ce61bdef9ddefab1b3713a9a66ea1e9f938c..a99cdc8c6341b31fbc2a4e197acef40081d504d4 100644 (file)
@@ -1,3 +1,9 @@
+Sun Nov 27 06:43:46 WST 2005 John Darrington <john@darington.wattle.id.au>
+
+       * data-out.c format.h: Added return value to data_out function.
+
+       * value-labels.c: Fixed bug in val_labs_remove.
+
 Sat Nov  5 18:37:26 2005  Ben Pfaff  <blp@gnu.org>
 
        * Makefile.am: Remove devind.c, devind.h from list of source
index 2600ccb8037dfac35af8494b60b6c5b23a6eaa9f..d26215a9c8cb887db2b827342c18abc7f7b5000d 100644 (file)
@@ -56,7 +56,7 @@ static string_converter convert_A, convert_AHEX;
 /* Converts binary value V into printable form in the exactly
    FP->W character in buffer S according to format specification
    FP.  No null terminator is appended to the buffer.  */
-void
+bool
 data_out (char *s, const struct fmt_spec *fp, const union value *v)
 {
   int cat = formats[fp->type].cat;
@@ -73,7 +73,7 @@ data_out (char *s, const struct fmt_spec *fp, const union value *v)
         {
           memset (s, ' ', fp->w);
           s[fp->w - fp->d - 1] = '.';
-          return;
+          return true;
         }
 
       /* Handle decimal shift. */
@@ -189,6 +189,8 @@ data_out (char *s, const struct fmt_spec *fp, const union value *v)
   /* Error handling. */
   if (!ok)
     strncpy (s, "ERROR", fp->w);
+  
+  return ok;
 }
 
 /* Converts V into S in F format with width W and D decimal places,
index 988c8f8c6ae982941954de882d346b7a2c6b4a9b..1f6f3fb993b8bed51f7fbc84eefae64af729f0d6 100644 (file)
@@ -119,7 +119,7 @@ int get_format_var_width (const struct fmt_spec *);
 int parse_string_as_format (const char *s, int len, const struct fmt_spec *fp,
                            int fc, union value *v);
 int translate_fmt (int spss);
-void data_out (char *s, const struct fmt_spec *fp, const union value *v);
+bool data_out (char *s, const struct fmt_spec *fp, const union value *v);
 char *fmt_to_string (const struct fmt_spec *);
 void num_to_string (double v, char *s, int w, int d);
 struct fmt_spec make_input_format (int type, int w, int d);
index 8dfbb10ead2a662e37eddd00c58a7bb9869369aa..cff267f09df9848b1e5fcc66c4bac9d407fac915 100644 (file)
@@ -220,7 +220,7 @@ val_labs_remove (struct val_labs *vls, union value value)
   if (vls->labels != NULL) 
     {
       struct int_val_lab *ivl = create_int_val_lab (vls, value, "");
-      int deleted = hsh_delete (vls->labels, &ivl);
+      int deleted = hsh_delete (vls->labels, ivl);
       free (ivl);
       return deleted;
     }