X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fcnid_dbd%2Fcnid_metad.c;h=ecc5045d75fa7007306fffb959fb12a0be9b0ac0;hb=815d557e167e76015934397dffbfa869180dcdbc;hp=324505ca162524fa563c15d7622192a70f0cda28;hpb=7bfedcf8566110f507eb74ed7c46ef9a2bdd8c54;p=netatalk.git diff --git a/etc/cnid_dbd/cnid_metad.c b/etc/cnid_dbd/cnid_metad.c index 324505ca..ecc5045d 100644 --- a/etc/cnid_dbd/cnid_metad.c +++ b/etc/cnid_dbd/cnid_metad.c @@ -1,5 +1,5 @@ /* - * $Id: cnid_metad.c,v 1.11 2009-05-26 07:16:56 franklahm Exp $ + * $Id: cnid_metad.c,v 1.15 2009-10-13 22:55:37 didg Exp $ * * Copyright (C) Joerg Lenneis 2003 * All Rights Reserved. See COPYING. @@ -76,10 +76,6 @@ #define WTERMSIG(status) ((status) & 0x7f) #endif -#ifdef ATACC -#define fork aTaC_fork -#endif - /* functions for username and group */ #include #include @@ -99,6 +95,7 @@ #endif #endif +#include #include #include @@ -130,7 +127,7 @@ struct server { static struct server srv[MAXVOLS]; /* Default logging config: log to syslog with level log_note */ -static char *logconfig = "default log_note"; +static char logconfig[MAXPATHLEN + 21 + 1] = "default log_note"; static struct server *test_usockfn(char *dir) { @@ -346,8 +343,7 @@ static int set_dbdir(char *dbdir, int len) } /* ------------------ */ -uid_t user_to_uid ( username ) - char *username; +uid_t user_to_uid (char *username) { struct passwd *this_passwd; @@ -366,8 +362,7 @@ uid_t user_to_uid ( username ) } /* ------------------ */ -gid_t group_to_gid ( group ) - char *group; +gid_t group_to_gid ( char *group) { struct group *this_group; @@ -386,7 +381,7 @@ gid_t group_to_gid ( group ) } /* ------------------ */ -void catch_alarm(int sig) { +void catch_alarm(int sig _U_) { alarmed = 1; } @@ -408,10 +403,12 @@ int main(int argc, char *argv[]) int err = 0; int debug = 0; int ret; + char *loglevel = NULL; + char *logfile = NULL; set_processname("cnid_metad"); - while (( cc = getopt( argc, argv, "ds:p:h:u:g:l:")) != -1 ) { + while (( cc = getopt( argc, argv, "ds:p:h:u:g:l:f:")) != -1 ) { switch (cc) { case 'd': debug = 1; @@ -440,7 +437,10 @@ int main(int argc, char *argv[]) dbdpn = strdup(optarg); break; case 'l': - logconfig = strdup(optarg); + loglevel = strdup(optarg); + break; + case 'f': + logfile = strdup(optarg); break; default: err++; @@ -448,6 +448,15 @@ int main(int argc, char *argv[]) } } + if (loglevel) { + strlcpy(logconfig + 8, loglevel, 13); + free(loglevel); + strcat(logconfig, " "); + } + if (logfile) { + strlcat(logconfig, logfile, MAXPATHLEN); + free(logfile); + } setuplog(logconfig); if (err) {