mirror of
https://github.com/samba-team/samba.git
synced 2025-07-29 15:42:04 +03:00
Sync with HEAD
This commit is contained in:
@ -23,9 +23,12 @@
|
||||
#include "includes.h"
|
||||
|
||||
/* Handle command line options:
|
||||
* -d,--debuglevel
|
||||
* -s,--configfile
|
||||
* -O,--socket-options
|
||||
* d,--debuglevel
|
||||
* s,--configfile
|
||||
* O,--socket-options
|
||||
* V,--version
|
||||
* l,--log-base
|
||||
* n,--netbios-name
|
||||
*/
|
||||
|
||||
extern pstring user_socket_options;
|
||||
@ -37,6 +40,23 @@ static void popt_common_callback(poptContext con,
|
||||
const struct poptOption *opt,
|
||||
const char *arg, const void *data)
|
||||
{
|
||||
pstring logfile;
|
||||
const char *pname;
|
||||
|
||||
/* Find out basename of current program */
|
||||
pname = strrchr_m(poptGetInvocationName(con),'/');
|
||||
|
||||
if (!pname)
|
||||
pname = poptGetInvocationName(con);
|
||||
else
|
||||
pname++;
|
||||
|
||||
if (reason == POPT_CALLBACK_REASON_PRE) {
|
||||
pstr_sprintf(logfile, "%s/log.%s", dyn_LOGFILEBASE, pname);
|
||||
lp_set_logfile(logfile);
|
||||
return;
|
||||
}
|
||||
|
||||
switch(opt->val) {
|
||||
case 'd':
|
||||
if (arg) {
|
||||
@ -51,16 +71,29 @@ static void popt_common_callback(poptContext con,
|
||||
break;
|
||||
|
||||
case 'O':
|
||||
pstrcpy(user_socket_options,arg);
|
||||
if (arg) {
|
||||
pstrcpy(user_socket_options,arg);
|
||||
}
|
||||
break;
|
||||
|
||||
case 's':
|
||||
pstrcpy(dyn_CONFIGFILE, arg);
|
||||
if (arg) {
|
||||
pstrcpy(dyn_CONFIGFILE, arg);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'n':
|
||||
pstrcpy(global_myname,arg);
|
||||
strupper(global_myname);
|
||||
if (arg) {
|
||||
pstrcpy(global_myname,arg);
|
||||
strupper(global_myname);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'l':
|
||||
if (arg) {
|
||||
pstr_sprintf(logfile, "%s/log.%s", arg, pname);
|
||||
lp_set_logfile(logfile);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -95,3 +128,9 @@ struct poptOption popt_common_netbios_name[] = {
|
||||
{"netbiosname", 'n', POPT_ARG_STRING, NULL, 'n', "Primary netbios name"},
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
struct poptOption popt_common_log_base[] = {
|
||||
{ NULL, 0, POPT_ARG_CALLBACK|POPT_CBFLAG_PRE, popt_common_callback },
|
||||
{ "log-basename", 'l', POPT_ARG_STRING, NULL, 'l', "Basename for log/debug files"},
|
||||
{ 0 }
|
||||
};
|
||||
|
Reference in New Issue
Block a user