add an option to output in stderr instead of syslog
git-svn-id: file:///raid/svn-personal/mokou/trunk@4 35d6bad2-6c5c-c749-ada2-a2c82cb3bd79
This commit is contained in:
parent
76db5066c2
commit
0fb0373460
|
@ -3,7 +3,15 @@
|
||||||
#include "mk_log.h"
|
#include "mk_log.h"
|
||||||
|
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
bool mk_syslog = true;
|
||||||
|
|
||||||
void mk_log(const char* log){
|
void mk_log(const char* log){
|
||||||
|
if(mk_syslog){
|
||||||
syslog(LOG_INFO, log);
|
syslog(LOG_INFO, log);
|
||||||
|
}else{
|
||||||
|
fprintf(stderr, "%s\n", log);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
15
Mokou/main.c
15
Mokou/main.c
|
@ -3,13 +3,28 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "mk_service.h"
|
#include "mk_service.h"
|
||||||
#include "mk_log.h"
|
#include "mk_log.h"
|
||||||
#include "mk_util.h"
|
#include "mk_util.h"
|
||||||
#include "mk_version.h"
|
#include "mk_version.h"
|
||||||
|
|
||||||
|
extern bool mk_syslog;
|
||||||
|
|
||||||
int main(int argc, char** argv){
|
int main(int argc, char** argv){
|
||||||
|
int i;
|
||||||
|
for(i = 1; i < argc; i++){
|
||||||
|
if(argv[i][0] == '-'){
|
||||||
|
if(strcmp(argv[i], "--stderr") == 0 || strcmp(argv[i], "-S") == 0){
|
||||||
|
mk_syslog = false;
|
||||||
|
}else{
|
||||||
|
fprintf(stderr, "%s: %s: unknown flag\n", argv[0], argv[i]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if(getuid() != 0){
|
if(getuid() != 0){
|
||||||
fprintf(stderr, "Run me as root.\n");
|
fprintf(stderr, "Run me as root.\n");
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#define __MK_SERVICE_H__
|
#define __MK_SERVICE_H__
|
||||||
|
|
||||||
struct mk_service {
|
struct mk_service {
|
||||||
char* name;
|
char* description;
|
||||||
char* exec;
|
char* exec;
|
||||||
char* pidfile;
|
char* pidfile;
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,9 +17,9 @@ void mk_service_scan(void){
|
||||||
if(services != NULL){
|
if(services != NULL){
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; services[i] != NULL; i++){
|
for(i = 0; services[i] != NULL; i++){
|
||||||
free(services[i]->name);
|
if(services[i]->description != NULL) free(services[i]->description);
|
||||||
free(services[i]->exec);
|
if(services[i]->exec != NULL) free(services[i]->exec);
|
||||||
free(services[i]->pidfile);
|
if(services[i]->pidfile != NULL) free(services[i]->pidfile);
|
||||||
free(services[i]);
|
free(services[i]);
|
||||||
}
|
}
|
||||||
free(services);
|
free(services);
|
||||||
|
@ -110,6 +110,11 @@ void mk_service_scan(void){
|
||||||
char* log = mk_strcat3("Adding ", desc == NULL ? path : desc, " to the list");
|
char* log = mk_strcat3("Adding ", desc == NULL ? path : desc, " to the list");
|
||||||
mk_log(log);
|
mk_log(log);
|
||||||
free(log);
|
free(log);
|
||||||
|
|
||||||
|
struct mk_service* serv = malloc(sizeof(*serv));
|
||||||
|
serv->description = desc != NULL ? mk_strdup(desc) : NULL;
|
||||||
|
serv->exec = mk_strdup(exec);
|
||||||
|
serv->pidfile = mk_strdup(pidfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(desc != NULL) free(desc);
|
if(desc != NULL) free(desc);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user