Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
0f67af9d
Commit
0f67af9d
authored
Mar 07, 2017
by
Mike Gabriel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nxcomp/Children.cpp: Don't generate warnings with duplicated NX paths.
Fixes ArcticaProject/nx-libs#370.
parent
522e743f
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
70 additions
and
61 deletions
+70
-61
Children.cpp
nxcomp/Children.cpp
+70
-61
No files found.
nxcomp/Children.cpp
View file @
0f67af9d
...
...
@@ -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.
//
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment