X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fval-labs.c;h=3dc4254f6d1c74ad89d37a623578c8244f17b152;hb=6d7e2826ba9c863f6261e9718e0e822e0ca60aa0;hp=9d05e77f83c528a067f300bb2d0c384b029f3b58;hpb=205ac3afa4c2b19c85819d8695abf3975bb11807;p=pspp diff --git a/src/val-labs.c b/src/val-labs.c index 9d05e77f83..3dc4254f6d 100644 --- a/src/val-labs.c +++ b/src/val-labs.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 @@ -79,12 +79,15 @@ do_value_labels (int erase) goto lossage; if (token != '/') + { + free (vars); break; + } + lex_get (); free (vars); } - free (vars); if (token != '.') { @@ -110,7 +113,7 @@ verify_val_labs (struct variable **vars, int var_cnt) { struct variable *vp = vars[i]; - if (vp->type == ALPHA && vp->width > 8) + if (vp->type == ALPHA && vp->width > MAX_SHORT_STRING) { msg (SE, _("It is not possible to assign value labels to long " "string variables such as %s."), vp->name); @@ -151,16 +154,16 @@ get_label (struct variable **vars, int var_cnt) lex_error (_("expecting string")); return 0; } - st_bare_pad_copy (value.s, ds_value (&tokstr), MAX_SHORT_STRING); + buf_copy_str_rpad (value.s, MAX_SHORT_STRING, ds_c_str (&tokstr)); } else { - if (token != T_NUM) + if (!lex_is_number ()) { lex_error (_("expecting integer")); return 0; } - if (!lex_integer_p ()) + if (!lex_is_integer ()) msg (SW, _("Value label `%g' is not integer."), tokval); value.f = tokval; } @@ -174,7 +177,7 @@ get_label (struct variable **vars, int var_cnt) msg (SW, _("Truncating value label to 60 characters.")); ds_truncate (&tokstr, 60); } - label = ds_value (&tokstr); + label = ds_c_str (&tokstr); for (i = 0; i < var_cnt; i++) val_labs_replace (vars[i]->val_labs, value, label);