From c7c7f3d4043170578b3e13bcaccbe1ed763677be Mon Sep 17 00:00:00 2001 From: erickson Date: Mon, 7 Nov 2005 21:03:05 +0000 Subject: [PATCH] handling 'hostname' more carefully git-svn-id: svn://svn.open-ils.org/ILS/trunk@1978 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- OpenSRF/src/libstack/osrf_system.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/OpenSRF/src/libstack/osrf_system.c b/OpenSRF/src/libstack/osrf_system.c index 419bdacfbb..56ba6e8f96 100644 --- a/OpenSRF/src/libstack/osrf_system.c +++ b/OpenSRF/src/libstack/osrf_system.c @@ -3,6 +3,8 @@ #include "osrf_application.h" #include "osrf_prefork.h" +char* __osrfSystemHostname = NULL; + void __osrfSystemSignalHandler( int sig ); transport_client* __osrfGlobalTransportClient; @@ -56,7 +58,9 @@ int _osrfSystemInitCache() { int osrfSystemBootstrap( char* hostname, char* configfile, char* contextNode ) { - if( !(configfile && contextNode) ) return -1; + if( !(hostname && configfile && contextNode) ) return -1; + + __osrfSystemHostname = strdup(hostname); /* first we grab the settings */ if(!osrfSystemBootstrapClientResc(configfile, contextNode, "settings_grabber" )) { @@ -167,7 +171,10 @@ int osrf_system_bootstrap_client_resc( char* config_file, char* contextnode, cha transport_client* client = client_init( domain, iport, unixpath, 0 ); - char* host = getenv("HOSTNAME"); + char* host; + if(__osrfSystemHostname) host = __osrfSystemHostname; + else host = getenv("HOSTNAME"); + if( host == NULL ) = ""; if(!resource) resource = ""; int len = strlen(resource) + 256; -- 2.43.2