/* Parse variable lists. */
lex_match_id (lexer, "VARIABLES");
- lex_match (lexer, '=');
+ lex_match (lexer, T_EQUALS);
if (!parse_variables_const (lexer, dict, &src_vars, &n_srcs,
PV_NO_DUPLICATE))
goto error;
if (!lex_force_match_id (lexer, "INTO"))
goto error;
- lex_match (lexer, '=');
+ lex_match (lexer, T_EQUALS);
if (!parse_DATA_LIST_vars (lexer, &dst_names, &n_dsts, PV_NO_DUPLICATE))
goto error;
if (n_dsts != n_srcs)
}
/* Parse options. */
- while (lex_match (lexer, '/'))
+ while (lex_match (lexer, T_SLASH))
{
if (lex_match_id (lexer, "DESCENDING"))
direction = DESCENDING;
}
}
- if (lex_token (lexer) != '.')
+ if (lex_token (lexer) != T_ENDCMD)
{
lex_error (lexer, _("expecting end of command"));
goto error;
the source value from whence the new value comes. */
if (src_width > 0)
{
- const char *str = (const char *) value_str (from, src_width);
+ const char *str = CHAR_CAST_BUG (const char*, value_str (from, src_width));
recoded_value = recode_string (UTF8, dict_get_encoding (dict), str, src_width);
}
for (i = 0; i < arc->n_specs; i++)
{
struct arc_spec *spec = &arc->specs[i];
- int width = var_get_width (spec->src);
struct arc_item *item, *next;
HMAP_FOR_EACH_SAFE (item, next, struct arc_item, hmap_node,
spec->items)
{
- value_destroy (&item->from, width);
+ value_destroy (&item->from, item->width);
hmap_delete (spec->items, &item->hmap_node);
free (item);
}
if ( width_b == 0 && width_a != 0)
return +1;
- return buf_compare_rpad ((const char *) value_str (&(*a)->from, width_a), width_a,
- (const char *) value_str (&(*b)->from, width_b), width_b);
+ return buf_compare_rpad (CHAR_CAST_BUG (const char *, value_str (&(*a)->from, width_a)), width_a,
+ CHAR_CAST_BUG (const char *, value_str (&(*b)->from, width_b)), width_b);
}
static int