From: <ph...@us...> - 2003-01-06 23:17:43
|
Update of /cvsroot/msyslog/syslog/src/modules In directory sc8-pr-cvs1:/tmp/cvs-serv5392/syslog/src/modules Modified Files: om_classic.c om_refract.c Log Message: Optarg no longer used. Allow classic to create missing logfiles. Index: om_classic.c =================================================================== RCS file: /cvsroot/msyslog/syslog/src/modules/om_classic.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -d -r1.91 -r1.92 --- om_classic.c 17 Sep 2002 05:20:28 -0000 1.91 +++ om_classic.c 6 Jan 2003 23:17:39 -0000 1.92 @@ -234,7 +234,7 @@ */ if ((e == EIO || e == EBADF) && c->f_type != F_FILE) { c->fd = open(c->f_un.f_fname, - O_WRONLY|O_APPEND, 0); + O_WRONLY|O_APPEND|O_CREAT, 0640); if (c->fd < 0) { c->f_type = F_UNUSED; m_dprintf(MSYSLOG_WARNING, "om_classic: " @@ -379,7 +379,7 @@ fprintf (global->flist_des, "%s\tregular\n", p); } else { - c->fd = open(p, O_WRONLY|O_APPEND, 0); + c->fd = open(p, O_WRONLY|O_APPEND|O_CREAT, 0640); c->f_type = F_FILE; } } Index: om_refract.c =================================================================== RCS file: /cvsroot/msyslog/syslog/src/modules/om_refract.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- om_refract.c 7 Sep 2002 23:41:32 -0000 1.5 +++ om_refract.c 6 Jan 2003 23:17:40 -0000 1.6 @@ -78,6 +78,7 @@ char ch; char *endptr; + int argcnt; /* FOR DEBUGGING PURPOSES */ m_dprintf(MSYSLOG_INFORMATIVE, "om_refract_init: starting\n"); @@ -108,47 +109,55 @@ optreset = 1; #endif - { - int argcnt = 1; - - /* 'h' OPTION NOT YET IMPLEMENTED */ - while ( ( ch = getxopt(argc, argv, "p!period: c!count:", &argcnt) ) != -1 ) { - switch (ch) { + /* 'h' OPTION NOT YET IMPLEMENTED */ + for( argcnt = 1 ; ( ch = getxopt(argc, argv, "p!period: c!count:", &argcnt) ) != -1 ; ++argcnt ) { + switch (ch) { - case 'p': - ctx->refraction_period = strtol(optarg, &endptr, 0); - if (endptr == NULL || endptr == optarg) { - snprintf(statbuf, sizeof(statbuf), "om_refract_init: " - "bad argument to -p option [%s], should be numeric refraction period", optarg); - m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); - *status = strdup(statbuf); - free(*context); - return(-1); - } - ctx->filter_bitstring |= OM_FILTER_PERIOD; - break; + case 'p': + ctx->refraction_period = strtol(argv[argcnt], &endptr, 0); + if (endptr == NULL || endptr == argv[argcnt]) { + snprintf(statbuf, sizeof(statbuf), "om_refract_init: " + "bad argument to -p option [%s], should be numeric refraction period", argv[argcnt]); + m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); + *status = strdup(statbuf); + free(*context); +return(-1); + } - case 'r': - ctx->fired_count = strtol(optarg, &endptr, 0); - if (endptr == NULL || endptr == optarg) { + ctx->filter_bitstring |= OM_FILTER_PERIOD; + break; + + case 'r': + ctx->fired_count = strtol(argv[argcnt], &endptr, 0); + if (endptr == NULL || endptr == argv[argcnt]) { snprintf(statbuf, sizeof(statbuf), "om_refract_init: " - "bad argument to -r option [%s], should be numeric, rules fired count", optarg); + "bad argument to -r option [%s], should be numeric, rules fired count", argv[argcnt]); m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); *status = strdup(statbuf); free(*context); return(-1); } ctx->filter_bitstring |= OM_FILTER_RULES; - break; + break; - default: - snprintf(statbuf, sizeof(statbuf), "om_refract_init: bad option [%c]", ch); + case 'c': + ctx->fire_count = strtol(argv[argcnt], &endptr, 0); + if (endptr == NULL || endptr == argv[argcnt]) { + snprintf(statbuf, sizeof(statbuf), "om_refract_init: " + "bad argument to -c option [%s], should be numeric firing count", argv[argcnt]); m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); *status = strdup(statbuf); free(*context); - return (-1); - } - argcnt++; +return(-1); + } + break; + + default: + snprintf(statbuf, sizeof(statbuf), "om_refract_init: bad option [%c]", ch); + m_dprintf(MSYSLOG_SERIOUS, "%s\n", statbuf); + *status = strdup(statbuf); + free(*context); +return (-1); } } |