bp = readChars(bp, vname, max);
CK_ULONG index = INVALID_INDEX; int isArray = 0; char *ptr; *error = 0;  if (bp != NULL) { readChars(bp, vname, max); }   if (isNum(vname[0])) { return NULL; }  if (isConst(vname)) { return NULL; }  if ((ptr = isSize(vname, &isArray)) != NULL) { CK_ULONG size; Value  *targetValue = NULL; Value  *sourceValue = varLookup(NULL, ptr, 0, error); if (!sourceValue) { if (*error == 0) {  *error = 1; fprintf(stderr,"Couldn't find variable %s to take size of\n", ptr); return NULL; } } size = isArray ? sourceValue->arraySize : sourceValue->size; targetValue = NewValue(ArgULong,1); memcpy(targetValue->data, &size, sizeof(size));  return targetValue; }   index = handleArray(vname, error); if (*error == 1) { return NULL; }
Value * varLookup(char *bp, char *vname, int max) {    Variable *current;    bp = readChars(bp, vname, max);    for (current = varHead; current; current = current->next) {	if (PL_strcasecmp(current->vname, vname) == 0) {		return current->value;	}    }    return NULL;}