X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fstatserv.c;h=dacdc39f7965148d407f51dcfdb2886c07e97fa3;hb=80fee38926477efd73c739731c5670d59c5d1bf7;hp=00ba31ca7f0b93ebc2679c113a06304459578ac1;hpb=75c9defe1c9ffb8efe58507dc994a56e6fd0409b;p=yaz-moved-to-github.git diff --git a/src/statserv.c b/src/statserv.c index 00ba31c..dacdc39 100644 --- a/src/statserv.c +++ b/src/statserv.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2010 Index Data * See the file LICENSE for details. */ @@ -53,6 +53,7 @@ #include #include #include +#include #ifdef USE_XTIMOSI #include #endif @@ -994,7 +995,7 @@ static void listener(IOCHAN h, int event) static void *new_session(void *vp) { - char *a; + const char *a; association *newas; IOCHAN new_chan; COMSTACK new_line = (COMSTACK) vp; @@ -1062,7 +1063,7 @@ static void inetd_connection(int what) COMSTACK line; IOCHAN chan; association *assoc; - char *addr; + const char *addr; if ((line = cs_createbysocket(0, tcpip_type, 0, what))) { @@ -1184,7 +1185,11 @@ statserv_options_block *statserv_getcontrol(void) void statserv_setcontrol(statserv_options_block *block) { - chdir(gfs_root_dir); + if (gfs_root_dir[0]) + { + if (chdir(gfs_root_dir)) + yaz_log(YLOG_WARN|YLOG_ERRNO, "chdir %s", gfs_root_dir); + } #ifdef WIN32 if (init_control_tls) TlsSetValue(current_control_tls, block); @@ -1282,7 +1287,10 @@ static int statserv_sc_main(yaz_sc_t s, int argc, char **argv) close(1); close(2); open("/dev/null", O_RDWR); - dup(0); dup(0); + if (dup(0) == -1) + return 1; + if (dup(0) == -1) + return 1; } xml_config_add_listeners(); @@ -1524,6 +1532,7 @@ int statserv_main(int argc, char **argv, /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab