diff options
author | Mihai Moldovan <ionic@ionic.de> | 2017-04-21 16:14:27 +0200 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2017-04-21 16:14:27 +0200 |
commit | 22b6ac728ea33642d9f6e3c2240bfd29c7956fb0 (patch) | |
tree | 2fb5a3299ae5622b9a368ea7aa556ad04cda4fac /nxcomp/Children.cpp | |
parent | 61d5cd0b75acc0ca3bfe2b6addc052c4aae8e6f2 (diff) | |
parent | 0f67af9d785254e394dd773fc9f34da2557a1983 (diff) | |
download | nx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.tar.gz nx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.tar.bz2 nx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.zip |
Merge branch 'sunweaver-pr/nxagent-dialog-fixes' into 3.6.x
Attributes GH PR #436: https://github.com/ArcticaProject/nx-libs/pull/436
Diffstat (limited to 'nxcomp/Children.cpp')
-rw-r--r-- | nxcomp/Children.cpp | 131 |
1 files changed, 70 insertions, 61 deletions
diff --git a/nxcomp/Children.cpp b/nxcomp/Children.cpp index 224a86f6d..265ba4e37 100644 --- a/nxcomp/Children.cpp +++ b/nxcomp/Children.cpp @@ -260,58 +260,63 @@ int NXTransDialog(const char *caption, const char *message, // in the default NX path. // - strcpy(command, "nxclient"); + if (i == 0) + { - char newPath[DEFAULT_STRING_LIMIT]; + strcpy(command, "nxclient"); - strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:"); + char newPath[DEFAULT_STRING_LIMIT]; - #ifdef __APPLE__ + strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:"); - strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:"); + #ifdef __APPLE__ - #endif + strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:"); - #ifdef __CYGWIN32__ + #endif - strcat(newPath, ".:"); + #ifdef __CYGWIN32__ - #endif + strcat(newPath, ".:"); - int newLength = strlen(newPath); + #endif - char *oldPath = getenv("PATH"); + int newLength = strlen(newPath); - strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1); + char *oldPath = getenv("PATH"); - newPath[DEFAULT_STRING_LIMIT - 1] = '\0'; + strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1); - #ifdef WARNING - *logofs << "NXTransDialog: WARNING! Trying with path '" - << newPath << "'.\n" << logofs_flush; - #endif + newPath[DEFAULT_STRING_LIMIT - 1] = '\0'; - cerr << "Warning" << ": Trying with path '" << newPath - << "'.\n"; + #ifdef WARNING + *logofs << "NXTransDialog: WARNING! Trying with path '" + << newPath << "'.\n" << logofs_flush; + #endif - // - // Solaris doesn't seem to have - // function setenv(). - // + cerr << "Warning" << ": Trying with path '" << newPath + << "'.\n"; - #ifdef __sun + // + // Solaris doesn't seem to have + // function setenv(). + // - char newEnv[DEFAULT_STRING_LIMIT + 5]; + #ifdef __sun - sprintf(newEnv,"PATH=%s", newPath); + char newEnv[DEFAULT_STRING_LIMIT + 5]; - putenv(newEnv); + sprintf(newEnv,"PATH=%s", newPath); - #else + putenv(newEnv); - setenv("PATH", newPath, 1); + #else - #endif + setenv("PATH", newPath, 1); + + #endif + + } } // @@ -455,60 +460,64 @@ int NXTransClient(const char* display) // in the default NX path. // - strcpy(command, "nxclient"); + if (i == 0) + { - char newPath[DEFAULT_STRING_LIMIT]; + strcpy(command, "nxclient"); - strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:"); + char newPath[DEFAULT_STRING_LIMIT]; - #ifdef __APPLE__ + strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:"); - strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:"); + #ifdef __APPLE__ - #endif + strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:"); - #ifdef __CYGWIN32__ + #endif - strcat(newPath, ".:"); + #ifdef __CYGWIN32__ - #endif + strcat(newPath, ".:"); - int newLength = strlen(newPath); + #endif - char *oldPath = getenv("PATH"); + int newLength = strlen(newPath); - strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1); + char *oldPath = getenv("PATH"); - newPath[DEFAULT_STRING_LIMIT - 1] = '\0'; + strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1); - #ifdef WARNING - *logofs << "NXTransClient: WARNING! Trying with path '" - << newPath << "'.\n" << logofs_flush; - #endif + newPath[DEFAULT_STRING_LIMIT - 1] = '\0'; - cerr << "Warning" << ": Trying with path '" << newPath - << "'.\n"; + #ifdef WARNING + *logofs << "NXTransClient: WARNING! Trying with path '" + << newPath << "'.\n" << logofs_flush; + #endif - // - // Solaris doesn't seem to have - // function setenv(). - // + cerr << "Warning" << ": Trying with path '" << newPath + << "'.\n"; - #ifdef __sun + // + // Solaris doesn't seem to have + // function setenv(). + // - char newEnv[DEFAULT_STRING_LIMIT + 5]; + #ifdef __sun - sprintf(newEnv,"PATH=%s", newPath); + char newEnv[DEFAULT_STRING_LIMIT + 5]; - putenv(newEnv); + sprintf(newEnv,"PATH=%s", newPath); - #else + putenv(newEnv); - setenv("PATH", newPath, 1); + #else - #endif - } + setenv("PATH", newPath, 1); + #endif + } + + } // // Hopefully useless. // |