X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffile-type.c;h=b90ae1840dbc1b7a462086ea85fcdb4ee76c5326;hb=6d7e2826ba9c863f6261e9718e0e822e0ca60aa0;hp=e549ae9693a3ae42490130562bd33d16f27c6f45;hpb=d807ad29cc0d3caa4f0e04ee4b75c70a225cfeaf;p=pspp diff --git a/src/file-type.c b/src/file-type.c index e549ae9693..b90ae1840d 100644 --- a/src/file-type.c +++ b/src/file-type.c @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #include #include @@ -44,7 +44,7 @@ enum /* Limited variable column specifications. */ struct col_spec { - char name[9]; /* Variable name. */ + char name[LONG_NAME_LEN + 1]; /* Variable name. */ int fc, nc; /* First column (1-based), # of columns. */ int fmt; /* Format type. */ struct variable *v; /* Variable. */ @@ -94,6 +94,8 @@ struct file_type_pgm static int parse_col_spec (struct col_spec *, const char *); static void create_col_var (struct col_spec *c); +int cmd_file_type (void); + /* Parses FILE TYPE command. */ int cmd_file_type (void) @@ -264,7 +266,7 @@ cmd_file_type (void) goto error; } - if (!strcmp (fty->case_sbc.name, fty->record.name)) + if (!strcasecmp (fty->case_sbc.name, fty->record.name)) { msg (SE, _("CASE and RECORD must specify different variable " "names.")); @@ -280,7 +282,7 @@ cmd_file_type (void) create_col_var (&fty->record); if (fty->case_sbc.name[0]) create_col_var (&fty->case_sbc); - vfm_source = create_case_source (&file_type_source_class, default_dict, fty); + vfm_source = create_case_source (&file_type_source_class, fty); return CMD_SUCCESS; @@ -435,7 +437,7 @@ cmd_record_type (void) { int mv = 0; - while (token == T_NUM || token == T_STRING) + while (lex_is_number () || token == T_STRING) { if (rct->nv >= mv) { @@ -448,8 +450,8 @@ cmd_record_type (void) if (!lex_force_string ()) goto error; rct->v[rct->nv].c = xmalloc (fty->record.nc + 1); - st_bare_pad_copy (rct->v[rct->nv].c, ds_c_str (&tokstr), - fty->record.nc + 1); + buf_copy_str_rpad (rct->v[rct->nv].c, fty->record.nc + 1, + ds_c_str (&tokstr)); } else { @@ -569,6 +571,7 @@ cmd_record_type (void) /* END FILE TYPE. */ +int cmd_end_file_type (void); int cmd_end_file_type (void) {