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 "repeat.h"
struct repeat_entry
{
int type; /* 1=variable names, 0=any other. */
- char id[9]; /* Macro identifier. */
+ char id[LONG_NAME_LEN + 1]; /* Macro identifier. */
char **replacement; /* Macro replacement. */
struct repeat_entry *next;
};
internal_cmd_do_repeat (void)
{
/* Name of first DO REPEAT macro. */
- char first_name[9];
+ char first_name[LONG_NAME_LEN + 1];
/* Current filename. */
const char *current_filename = NULL;
if (!lex_force_id ())
return 0;
for (iter = repeat_tab; iter; iter = iter->next)
- if (!strcmp (iter->id, tokid))
+ if (!strcasecmp (iter->id, tokid))
{
msg (SE, _("Identifier %s is given twice."), tokid);
return 0;
if (token == T_ID)
result = parse_ids (e);
- else if (token == T_NUM)
+ else if (lex_is_number ())
result = parse_numbers (e);
else if (token == T_STRING)
result = parse_strings (e);
/* Collect an identifier. */
{
- char name[9];
+ char name[LONG_NAME_LEN + 1];
char *start = cp;
char *np = name;
char *substitution;
- while (CHAR_IS_IDN (*cp) && np < &name[8])
+ while (CHAR_IS_IDN (*cp) && np < &name[LONG_NAME_LEN])
*np++ = *cp++;
while (CHAR_IS_IDN (*cp))
cp++;