5752081 [rkeene@sledge /home/rkeene/devel/old/billing]$ cat -n variable.c
 1 #include "variable.h"
 2 #include <string.h>
 3 #include <stdlib.h>
 4 
 5 char *nameslist[MAX_VAR];
 6 char *valuelist[MAX_VAR];
 7 
 8 int setvar(char name[30], char value[]) {
 9     int i, usei=-1;
10     if (name==NULL) return(-1);
11     for (i=0;i<MAX_VAR;i++) {
12         if (nameslist[i]==NULL) {
13             if (usei==-1) usei=i;
14         } else {
15             if (!strcasecmp(nameslist[i],name)) {
16                 free(nameslist[i]);
17                 free(valuelist[i]);
18                 usei=i;
19                 break;
20             }
21         }
22     }
23     if (usei==-1) return(-1); /* ran out of entries */
24     if (value!=NULL) {
25         valuelist[usei]=strdup(value);
26         nameslist[usei]=strdup(name);
27     } else {
28         valuelist[usei]=NULL;
29         nameslist[usei]=NULL;
30     }
31     return(0);
32 }
33 
34 char *getvar(char name[30]) {
35     int i;
36     for (i=0;i<MAX_VAR;i++) {
37         if (nameslist[i]!=NULL) {
38             if (!strcasecmp(nameslist[i],name)) {
39                 return(valuelist[i]);
40             }
41         }
42     }
43     return(NULL);
44 }
45 
46 int unsetvar(char name[30]) {
47     int i;
48     for (i=0;i<MAX_VAR;i++) {
49         if (nameslist[i]!=NULL) {
50             if (!strcasecmp(nameslist[i],name)) {
51                 nameslist[i]=NULL;
52                 valuelist[i]=NULL;
53                 free(nameslist[i]);
54                 free(valuelist[i]);
55                 return(0);
56             }
57         }
58     }
59     return(-1);
60 }
5752082 [rkeene@sledge /home/rkeene/devel/old/billing]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-03-16 12:45:26