X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=miscutil.c;h=bea387eee1f8ffa3db56a1dbb819ff7e5444763f;hp=f79cfd75c19908fa69af7baa1b45a6b93f7b693d;hb=1dcfd55d00941fa85ecc4ec61b6dd63e918f4d66;hpb=607365610baa53dcc018792c315a4d2734de70cf diff --git a/miscutil.c b/miscutil.c index f79cfd75..bea387ee 100644 --- a/miscutil.c +++ b/miscutil.c @@ -1,4 +1,4 @@ -const char miscutil_rcs[] = "$Id: miscutil.c,v 1.22 2001/10/26 17:39:38 oes Exp $"; +const char miscutil_rcs[] = "$Id: miscutil.c,v 1.24 2001/11/05 21:41:43 steudten Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/miscutil.c,v $ @@ -36,6 +36,19 @@ const char miscutil_rcs[] = "$Id: miscutil.c,v 1.22 2001/10/26 17:39:38 oes Exp * * Revisions : * $Log: miscutil.c,v $ + * Revision 1.24 2001/11/05 21:41:43 steudten + * Add changes to be a real daemon just for unix os. + * (change cwd to /, detach from controlling tty, set + * process group and session leader to the own process. + * Add DBG() Macro. + * Add some fatal-error log message for failed malloc(). + * Add '-d' if compiled with 'configure --with-debug' to + * enable debug output. + * + * Revision 1.23 2001/10/29 03:48:10 david__schmidt + * OS/2 native needed a snprintf() routine. Added one to miscutil, brackedted + * by and __OS2__ ifdef. + * * Revision 1.22 2001/10/26 17:39:38 oes * Moved ijb_isspace and ijb_tolower to project.h * @@ -147,7 +160,6 @@ const char miscutil_rcs[] = "$Id: miscutil.c,v 1.22 2001/10/26 17:39:38 oes Exp #include #include #include -#include #include #include @@ -736,8 +748,32 @@ char * make_path(const char * dir, const char * file) } else { - char * path = malloc(strlen(dir) + strlen(file) + 2); + char * path; + +#if defined(unix) + if ( *dir != '/' && basedir && *basedir ) + { + path = malloc( strlen( basedir ) + strlen(dir) + strlen(file) + 3); + if (!path ) log_error(LOG_LEVEL_FATAL, "malloc failed!"); + strcpy(path, basedir); + strcat(path, "/"); + strcat(path, dir); + DBG(1, ("make_path: path: %s\n",path) ); + } + else + { + path = malloc(strlen(dir) + strlen(file) + 2); + if (!path ) log_error(LOG_LEVEL_FATAL, "malloc failed!"); + strcpy(path, dir); + } +#else + + path = malloc(strlen(dir) + strlen(file) + 2); + if (!path ) log_error(LOG_LEVEL_FATAL, "malloc failed!"); strcpy(path, dir); + +#endif /* defined unix */ + #ifdef _WIN32 if(path[strlen(path)-1] != '\\') { @@ -1529,4 +1565,4 @@ int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap) { Local Variables: tab-width: 3 end: -*/ \ No newline at end of file +*/