@@ -79,6 +79,8 @@ main(int argc, char *argv[])
7979 char * p , * argv0 ;
8080 char * tag = "vlogger" ;
8181 int c ;
82+ int Sflag = 0 ;
83+ int logflags = 0 ;
8284 int facility = LOG_DAEMON ;
8385 int level = LOG_INFO ;
8486
@@ -96,23 +98,26 @@ main(int argc, char *argv[])
9698 }
9799 }
98100
99- while ((c = getopt (argc , argv , "p:t :" )) != -1 )
101+ while ((c = getopt (argc , argv , "ip:Sst :" )) != -1 )
100102 switch (c ) {
103+ case 'i' : logflags |= LOG_PID ; break ;
101104 case 'p' : strpriority (optarg , & facility , & level ); break ;
105+ case 'S' : Sflag ++ ; break ;
106+ case 's' : logflags |= LOG_PERROR ; break ;
102107 case 't' : tag = optarg ; break ;
103108 default :
104109usage :
105- fprintf (stderr , "usage: vlogger [-p priority ] [-t tag]\n" );
110+ fprintf (stderr , "usage: vlogger [-isS] [-p pri ] [-t tag]\n" );
106111 exit (1 );
107112 }
108113
109- if (access ("/etc/vlogger" , X_OK ) != -1 ) {
114+ if (! Sflag && access ("/etc/vlogger" , X_OK ) != -1 ) {
110115 execl ("/etc/vlogger" , argv0 , tag , (char * )0 );
111116 fprintf (stderr , "vlogger: exec: %s\n" , strerror (errno ));
112117 exit (1 );
113118 }
114119
115- openlog (tag , 0 , facility );
120+ openlog (tag , logflags , facility );
116121
117122 char * line = NULL ;
118123 size_t linelen = 0 ;
0 commit comments