=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/indent/lexi.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- src/usr.bin/indent/lexi.c 2004/07/20 03:50:26 1.11 +++ src/usr.bin/indent/lexi.c 2005/03/06 14:34:25 1.12 @@ -1,4 +1,4 @@ -/* $OpenBSD: lexi.c,v 1.11 2004/07/20 03:50:26 deraadt Exp $ */ +/* $OpenBSD: lexi.c,v 1.12 2005/03/06 14:34:25 millert Exp $ */ /* * Copyright (c) 1980, 1993 @@ -34,7 +34,7 @@ #ifndef lint /*static char sccsid[] = "@(#)lexi.c 8.1 (Berkeley) 6/6/93";*/ -static char rcsid[] = "$OpenBSD: lexi.c,v 1.11 2004/07/20 03:50:26 deraadt Exp $"; +static char rcsid[] = "$OpenBSD: lexi.c,v 1.12 2005/03/06 14:34:25 millert Exp $"; #endif /* not lint */ /* @@ -565,14 +565,12 @@ addkey(char *key, int val) { struct templ *p; - int i = 0; + int i; - while (i < nspecials) { + for (i = 0; i < nspecials; i++) { p = &specials[i]; if (p->rwd[0] == key[0] && strcmp(p->rwd, key) == 0) return; - else - i++; } if (specials == specialsinit) { @@ -580,14 +578,13 @@ * Whoa. Must reallocate special table. */ nspecials = sizeof (specialsinit) / sizeof (specialsinit[0]); - maxspecials = nspecials; - maxspecials += maxspecials >> 2; + maxspecials = nspecials + (nspecials >> 2); specials = (struct templ *)malloc(maxspecials * sizeof specials[0]); if (specials == NULL) err(1, NULL); - memmove(specials, specialsinit, sizeof specialsinit); + memcpy(specials, specialsinit, sizeof specialsinit); } else if (nspecials >= maxspecials) { - int newspecials = maxspecials + maxspecials >> 2; + int newspecials = maxspecials + (maxspecials >> 2); struct templ *specials2; specials2 = realloc(specials, newspecials * sizeof specials[0]); @@ -597,7 +594,7 @@ maxspecials = newspecials; } - p = &specials[i]; + p = &specials[nspecials]; p->rwd = key; p->rwcode = val; nspecials++;