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 <config.h>
#include "private.h"
assert (e->type == OP_string);
assert ((dst == NULL) == (dst_size == 0));
expr_evaluate (e, c, case_idx, &s);
- st_bare_pad_len_copy (dst, s.string, dst_size, s.length);
+ buf_copy_rpad (dst, dst_size, s.string, s.length);
}
\f
#include "lexer.h"
dump_postfix = 1;
else if (lex_match ('('))
{
- char name[MAX_VAR_NAME_LEN + 1];
+ char name[LONG_NAME_LEN + 1];
struct variable *v;
size_t old_value_cnt;
int width;
if (!lex_force_match ('='))
goto done;
- if (token == T_NUM)
+ if (lex_is_number ())
{
width = 0;
fprintf (stderr, "(%s = %.2f)", name, tokval);
}
case_resize (c, old_value_cnt, dict_get_next_value_idx (d));
- if (token == T_NUM)
+ if (lex_is_number ())
case_data_rw (c, v->fv)->f = tokval;
else
memcpy (case_data_rw (c, v->fv)->s, ds_data (&tokstr),
lex_get ();
expr = expr_parse_any (d, optimize);
- if (!expr || token != '.')
+ if (!expr || lex_end_of_command () != CMD_SUCCESS)
{
if (expr != NULL)
expr_free (expr);
retval = CMD_SUCCESS;
done:
- if (c != NULL)
- case_destroy (c);
+ if (c != NULL)
+ {
+ case_destroy (c);
+ free (c);
+ }
+ dict_destroy (d);
return retval;
}