X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fpor-file-reader.c;h=b5cc35b825ba73c27ae015971fd249afdf9e749e;hb=76762fd5bcdcdf30f45ef7775f7b2a3cad7cc0e0;hp=1dcbeac71c540eb81c9654d619b575f85367316b;hpb=2331dc47df5d45733218e418163f7f5ae99a6324;p=pspp diff --git a/src/data/por-file-reader.c b/src/data/por-file-reader.c index 1dcbeac71c..b5cc35b825 100644 --- a/src/data/por-file-reader.c +++ b/src/data/por-file-reader.c @@ -43,7 +43,6 @@ #include "libpspp/pool.h" #include "libpspp/str.h" -#include "gl/intprops.h" #include "gl/minmax.h" #include "gl/xalloc.h" #include "gl/xmemdup0.h" @@ -113,12 +112,13 @@ error (struct pfm_reader *r, const char *msg, ...) ds_put_vformat (&text, msg, args); va_end (args); - struct msg m = { + struct msg *m = xmalloc (sizeof *m); + *m = (struct msg) { .category = MSG_C_GENERAL, .severity = MSG_S_ERROR, - .text = ds_cstr (&text), + .text = ds_steal_cstr (&text), }; - msg_emit (&m); + msg_emit (m); r->ok = false; @@ -140,12 +140,13 @@ warning (struct pfm_reader *r, const char *msg, ...) ds_put_vformat (&text, msg, args); va_end (args); - struct msg m = { + struct msg *m = xmalloc (sizeof *m); + *m = (struct msg) { .category = MSG_C_GENERAL, .severity = MSG_S_WARNING, - .text = ds_cstr (&text), + .text = ds_steal_cstr (&text), }; - msg_emit (&m); + msg_emit (m); } /* Close and destroy R. @@ -729,9 +730,9 @@ read_variables (struct pfm_reader *r, struct dictionary *dict) unsigned long int i; for (i = 1; ; i++) { - char try_name[8 + 1 + INT_STRLEN_BOUND (i) + 1]; - sprintf (try_name, "%s_%lu", name, i); + char *try_name = xasprintf ("%s_%lu", name, i); v = dict_create_var (dict, try_name, width); + free (try_name); if (v != NULL) break; } @@ -900,7 +901,7 @@ por_file_casereader_read (struct casereader *reader, void *r_) int width = caseproto_get_width (r->proto, i); if (width == 0) - case_data_rw_idx (c, i)->f = read_float (r); + *case_num_rw_idx (c, i) = read_float (r); else { uint8_t buf[256];