uemacs: Add ARRAY_SIZE macro so we can get rid of some hard coded calculations.

Signed-off-by: Thiago Farina <thiago.farina@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Thiago Farina 2010-06-03 20:36:01 -03:00 committed by Linus Torvalds
parent e32cecc843
commit 9489673a1b
3 changed files with 17 additions and 12 deletions

19
eval.c
View File

@ -6,11 +6,12 @@
* modified by Petri Kutvonen
*/
#include <stdio.h>
#include "estruct.h"
#include "edef.h"
#include <stdio.h>
#include "estruct.h"
#include "edef.h"
#include "efunc.h"
#include "evar.h"
#include "evar.h"
#include "util.h"
void varinit(void)
{ /* initialize the user variable list */
@ -196,13 +197,13 @@ char *gtenv(char *vname)
int vnum; /* ordinal number of var refrenced */
/* scan the list, looking for the referenced name */
for (vnum = 0; vnum < NEVARS; vnum++)
for (vnum = 0; vnum < ARRAY_SIZE(envars); vnum++)
if (strcmp(vname, envars[vnum]) == 0)
break;
/* return errorm on a bad reference */
if (vnum == NEVARS)
#if ENVFUNC
if (vnum == ARRAY_SIZE(envars))
#if ENVFUNC
{
char *ename = getenv(vname);
@ -453,11 +454,11 @@ void findvar(char *var, VDESC *vd, int size)
vnum = -1;
fvar:
vtype = -1;
vtype = -1;
switch (var[0]) {
case '$': /* check for legal enviromnent var */
for (vnum = 0; vnum < NEVARS; vnum++)
for (vnum = 0; vnum < ARRAY_SIZE(envars); vnum++)
if (strcmp(&var[1], envars[vnum]) == 0) {
vtype = TKENV;
break;

4
evar.h
View File

@ -67,9 +67,7 @@ static char *envars[] = {
#endif
};
#define NEVARS sizeof(envars) / sizeof(char *)
/* and its preprocesor definitions */
/* and its preprocesor definitions */
#define EVFILLCOL 0
#define EVPAGELEN 1

6
util.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef UTIL_H_
#define UTIL_H_
#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
#endif /* UTIL_H_ */