comparison srogue/options.c @ 37:34d7a614855e

srogue: add support for SAVEDIR
author elwin
date Thu, 25 Nov 2010 17:28:29 +0000
parents 2128c7dc8a40
children 8a9525231fb6
comparison
equal deleted inserted replaced
36:2128c7dc8a40 37:34d7a614855e
183 while (*str) { 183 while (*str) {
184 for (sp = str; isalpha(*sp); sp++) /* get option name */ 184 for (sp = str; isalpha(*sp); sp++) /* get option name */
185 continue; 185 continue;
186 len = sp - str; 186 len = sp - str;
187 for (op = optlist; op < &optlist[NUM_OPTS]; op++) { 187 for (op = optlist; op < &optlist[NUM_OPTS]; op++) {
188 /* For security, some options can't be changed. */
189 if (!allowchange(op))
190 continue;
188 if (EQSTR(str, op->o_name, len)) { 191 if (EQSTR(str, op->o_name, len)) {
189 reg char *start; 192 reg char *start;
190 193
191 for (str = sp + 1; *str == '='; str++) 194 for (str = sp + 1; *str == '='; str++)
192 continue; 195 continue;
226 s1 += strlen(sp); 229 s1 += strlen(sp);
227 s2++; 230 s2++;
228 } 231 }
229 *s1 = '\0'; 232 *s1 = '\0';
230 } 233 }
234
235 int allowchange(OPTION *opt)
236 {
237 if (!use_savedir)
238 return 1;
239 if (!strcmp(opt->o_name, "name"))
240 return 0;
241 if (!strcmp(opt->o_name, "file"))
242 return 0;
243 return 1;
244 }