Lines Matching refs:cfile

40 get_arg( conffile_t *cfile, int required, int *comment )  in get_arg()  argument
46 p = cfile->rest; in get_arg()
54 error( "%s:%d: parameter missing\n", cfile->file, cfile->line ); in get_arg()
55 cfile->err = 1; in get_arg()
75 error( "%s:%d: unterminated escape sequence\n", cfile->file, cfile->line ); in get_arg()
76 cfile->err = 1; in get_arg()
80 error( "%s:%d: missing closing quote\n", cfile->file, cfile->line ); in get_arg()
81 cfile->err = 1; in get_arg()
85 cfile->rest = p; in get_arg()
90 parse_bool( conffile_t *cfile ) in parse_bool() argument
92 if (!strcasecmp( cfile->val, "yes" ) || in parse_bool()
93 !strcasecmp( cfile->val, "true" ) || in parse_bool()
94 !strcasecmp( cfile->val, "on" ) || in parse_bool()
95 !strcmp( cfile->val, "1" )) in parse_bool()
97 if (strcasecmp( cfile->val, "no" ) && in parse_bool()
98 strcasecmp( cfile->val, "false" ) && in parse_bool()
99 strcasecmp( cfile->val, "off" ) && in parse_bool()
100 strcmp( cfile->val, "0" )) { in parse_bool()
102 cfile->file, cfile->line, cfile->val ); in parse_bool()
103 cfile->err = 1; in parse_bool()
109 parse_int( conffile_t *cfile ) in parse_int() argument
114 ret = strtol( cfile->val, &p, 10 ); in parse_int()
117 cfile->file, cfile->line, cfile->val ); in parse_int()
118 cfile->err = 1; in parse_int()
125 parse_size( conffile_t *cfile ) in parse_size() argument
130 ret = strtoul( cfile->val, &p, 10 ); in parse_size()
139 cfile->file, cfile->line, cfile->val); in parse_size()
140 cfile->err = 1; in parse_size()
156 getopt_helper( conffile_t *cfile, int *cops, channel_conf_t *conf ) in getopt_helper() argument
161 if (!strcasecmp( "Sync", cfile->cmd )) { in getopt_helper()
162 arg = cfile->val; in getopt_helper()
196 cfile->file, cfile->line, arg ); in getopt_helper()
197 cfile->err = 1; in getopt_helper()
199 while ((arg = get_arg( cfile, ARG_OPTIONAL, NULL ))); in getopt_helper()
201 } else if (!strcasecmp( "SyncState", cfile->cmd )) in getopt_helper()
202 conf->sync_state = expand_strdup( cfile->val ); in getopt_helper()
203 else if (!strcasecmp( "CopyArrivalDate", cfile->cmd )) in getopt_helper()
204 conf->use_internal_date = parse_bool( cfile ); in getopt_helper()
205 else if (!strcasecmp( "MaxMessages", cfile->cmd )) in getopt_helper()
206 conf->max_messages = parse_int( cfile ); in getopt_helper()
207 else if (!strcasecmp( "ExpireUnread", cfile->cmd )) in getopt_helper()
208 conf->expire_unread = parse_bool( cfile ); in getopt_helper()
211 if (!strcasecmp( boxOps[i].name, cfile->cmd )) { in getopt_helper()
213 arg = cfile->val; in getopt_helper()
221 cfile->ms_warn = 1; in getopt_helper()
226 cfile->ms_warn = 1; in getopt_helper()
229 cfile->file, cfile->line, boxOps[i].name, arg ); in getopt_helper()
230 cfile->err = 1; in getopt_helper()
232 } while ((arg = get_arg( cfile, ARG_OPTIONAL, NULL ))); in getopt_helper()
243 getcline( conffile_t *cfile ) in getcline() argument
248 if (cfile->rest && (arg = get_arg( cfile, ARG_OPTIONAL, NULL ))) { in getcline()
249 error( "%s:%d: excess token '%s'\n", cfile->file, cfile->line, arg ); in getcline()
250 cfile->err = 1; in getcline()
252 while (fgets( cfile->buf, cfile->bufl, cfile->fp )) { in getcline()
253 cfile->line++; in getcline()
254 cfile->rest = cfile->buf; in getcline()
255 if (!(cfile->cmd = get_arg( cfile, ARG_OPTIONAL, &comment ))) { in getcline()
260 if (!(cfile->val = get_arg( cfile, ARG_REQUIRED, NULL ))) in getcline()
322 conffile_t cfile; in load_config() local
335 cfile.file = path; in load_config()
337 cfile.file = where; in load_config()
339 info( "Reading configuration file %s\n", cfile.file ); in load_config()
341 if (!(cfile.fp = fopen( cfile.file, "r" ))) { in load_config()
342 sys_error( "Cannot open config file '%s'", cfile.file ); in load_config()
346 cfile.buf = buf; in load_config()
347 cfile.bufl = sizeof(buf) - 1; in load_config()
348 cfile.line = 0; in load_config()
349 cfile.err = 0; in load_config()
350 cfile.ms_warn = 0; in load_config()
351 cfile.rest = NULL; in load_config()
357 while (getcline( &cfile )) { in load_config()
358 if (!cfile.cmd) in load_config()
361 if (drivers[i]->parse_store( &cfile, &store )) { in load_config()
374 if (!strcasecmp( "Channel", cfile.cmd )) in load_config()
377 channel->name = nfstrdup( cfile.val ); in load_config()
383 while (getcline( &cfile ) && cfile.cmd) { in load_config()
384 if (!strcasecmp( "MaxSize", cfile.cmd )) in load_config()
385 max_size = parse_size( &cfile ); in load_config()
386 else if (!strcasecmp( "Pattern", cfile.cmd ) || in load_config()
387 !strcasecmp( "Patterns", cfile.cmd )) in load_config()
389 arg = cfile.val; in load_config()
392 while ((arg = get_arg( &cfile, ARG_OPTIONAL, NULL ))); in load_config()
394 else if (!strcasecmp( "Far", cfile.cmd )) { in load_config()
397 } else if (!strcasecmp( "Master", cfile.cmd )) { // Pre-1.4 legacy in load_config()
400 } else if (!strcasecmp( "Near", cfile.cmd )) { in load_config()
403 } else if (!strcasecmp( "Slave", cfile.cmd )) { // Pre-1.4 legacy in load_config()
406 cfile.ms_warn = 1; in load_config()
408 if (*cfile.val != ':' || !(p = strchr( cfile.val + 1, ':' ))) { in load_config()
410 cfile.file, cfile.line ); in load_config()
411 cfile.err = 1; in load_config()
416 if (!strcmp( store->name, cfile.val + 1 )) { in load_config()
421 cfile.file, cfile.line, cfile.val + 1 ); in load_config()
422 cfile.err = 1; in load_config()
427 } else if (!getopt_helper( &cfile, &cops, channel )) { in load_config()
429 cfile.file, cfile.line, cfile.cmd ); in load_config()
430 cfile.err = 1; in load_config()
435 cfile.err = 1; in load_config()
438 cfile.err = 1; in load_config()
440 cfile.err = 1; in load_config()
453 else if (!strcasecmp( "Group", cfile.cmd )) in load_config()
456 group->name = nfstrdup( cfile.val ); in load_config()
462 while ((arg = get_arg( &cfile, ARG_OPTIONAL, NULL ))) { in load_config()
471 while (getcline( &cfile ) && cfile.cmd) { in load_config()
472 if (!strcasecmp( "Channel", cfile.cmd ) || in load_config()
473 !strcasecmp( "Channels", cfile.cmd )) in load_config()
475 arg = cfile.val; in load_config()
481 cfile.file, cfile.line, cfile.cmd ); in load_config()
482 cfile.err = 1; in load_config()
488 else if (!strcasecmp( "FSync", cfile.cmd )) in load_config()
490 UseFSync = parse_bool( &cfile ); in load_config()
492 else if (!strcasecmp( "FieldDelimiter", cfile.cmd )) in load_config()
494 if (strlen( cfile.val ) != 1) { in load_config()
495 error( "%s:%d: Field delimiter must be exactly one character long\n", cfile.file, cfile.line ); in load_config()
496 cfile.err = 1; in load_config()
498 FieldDelimiter = cfile.val[0]; in load_config()
500 error( "%s:%d: Field delimiter must be a punctuation character\n", cfile.file, cfile.line ); in load_config()
501 cfile.err = 1; in load_config()
505 else if (!strcasecmp( "BufferLimit", cfile.cmd )) in load_config()
507 BufferLimit = parse_size( &cfile ); in load_config()
509 error( "%s:%d: BufferLimit cannot be zero\n", cfile.file, cfile.line ); in load_config()
510 cfile.err = 1; in load_config()
513 else if (!getopt_helper( &cfile, &gcops, &global_conf )) in load_config()
516 cfile.file, cfile.line, cfile.cmd ); in load_config()
517 cfile.err = 1; in load_config()
518 while (getcline( &cfile )) in load_config()
519 if (!cfile.cmd) in load_config()
525 cfile.file, cfile.line ); in load_config()
526 cfile.err = 1; in load_config()
529 fclose (cfile.fp); in load_config()
530 if (cfile.ms_warn) in load_config()
532 cfile.err |= merge_ops( gcops, global_conf.ops ); in load_config()
535 return cfile.err; in load_config()