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 } |