| 317 |
|
static int |
| 318 |
|
setheadvar(char *val, void *p) |
| 319 |
|
{ |
| 320 |
+ |
char newval[128]; |
| 321 |
|
LUTAB *htp = (LUTAB *)p; |
| 322 |
|
LUENT *tep; |
| 323 |
|
char *key; |
| 360 |
|
return(-1); /* memory allocation error */ |
| 361 |
|
if (!tep->key) |
| 362 |
|
tep->key = strcpy(malloc(kln+1), key); |
| 363 |
< |
if (tep->data) |
| 363 |
> |
if (tep->data) { /* check for special cases */ |
| 364 |
> |
if (!strcmp(key, "EXPOSURE")) { |
| 365 |
> |
sprintf(newval, "%f", atof(tep->data)*atof(val)); |
| 366 |
> |
vln = strlen(val = newval); |
| 367 |
> |
} |
| 368 |
|
free(tep->data); |
| 369 |
+ |
} |
| 370 |
|
tep->data = strcpy(malloc(vln+1), val); |
| 371 |
|
return(1); |
| 372 |
|
} |