X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fpc%2B-file-reader.c;h=c7c9e3b7f8b062b75d3e57c0ed5be2a262e34fe5;hb=7972d570c028fabe0d281f2aafbb9e4a8f797239;hp=a608d2500c913f685a0467a4abbfb401d2a437da;hpb=9a5d293132431f61435eadfe684697e2e5af9280;p=pspp diff --git a/src/data/pc+-file-reader.c b/src/data/pc+-file-reader.c index a608d2500c..c7c9e3b7f8 100644 --- a/src/data/pc+-file-reader.c +++ b/src/data/pc+-file-reader.c @@ -221,13 +221,13 @@ pcp_open (struct file_handle *fh) /* Fetch file size. */ if (fstat (fileno (r->file), &s)) { - pcp_error (ME, 0, _("%s: stat failed (%s)."), + pcp_error (r, 0, _("%s: stat failed (%s)."), fh_get_file_name (r->fh), strerror (errno)); goto error; } if (s.st_size > UINT_MAX) { - pcp_error (ME, 0, _("%s: file too large."), fh_get_file_name (r->fh)); + pcp_error (r, 0, _("%s: file too large."), fh_get_file_name (r->fh)); goto error; } r->file_size = s.st_size; @@ -461,7 +461,7 @@ pcp_decode (struct any_reader *r_, const char *encoding, error: pcp_close (&r->any_reader); - dict_destroy (dict); + dict_unref (dict); *dictp = NULL; return NULL; } @@ -900,8 +900,7 @@ parse_variable_records (struct pcp_reader *r, struct dictionary *dict, if (var_is_numeric (var)) value.f = parse_float (rec->val_labs[i].value); else - memcpy (value_str_rw (&value, rec->width), - rec->val_labs[i].value, rec->width); + memcpy (value.s, rec->val_labs[i].value, rec->width); utf8_label = recode_string ("UTF-8", dict_encoding, rec->val_labs[i].label, -1); @@ -967,8 +966,7 @@ pcp_file_casereader_read (struct casereader *reader, void *r_) if (var->width == 0) retval = read_case_number (r, &v->f); else - retval = read_case_string (r, value_str_rw (v, var->width), - var->width); + retval = read_case_string (r, v->s, var->width); if (retval != 1) { @@ -1152,9 +1150,7 @@ static void pcp_msg (struct pcp_reader *r, off_t offset, int class, const char *format, va_list args) { - struct msg m; struct string text; - ds_init_empty (&text); if (offset >= 0) ds_put_format (&text, _("`%s' near offset 0x%llx: "), @@ -1163,15 +1159,11 @@ pcp_msg (struct pcp_reader *r, off_t offset, ds_put_format (&text, _("`%s': "), fh_get_file_name (r->fh)); ds_put_vformat (&text, format, args); - m.category = msg_class_to_category (class); - m.severity = msg_class_to_severity (class); - m.file_name = NULL; - m.first_line = 0; - m.last_line = 0; - m.first_column = 0; - m.last_column = 0; - m.text = ds_cstr (&text); - + struct msg m = { + .category = msg_class_to_category (class), + .severity = msg_class_to_severity (class), + .text = ds_cstr (&text), + }; msg_emit (&m); }