[X2Go-Commits] [nx-libs] 03/219: nxagent: Determine nxagentProgName only once
git-admin at x2go.org
git-admin at x2go.org
Sat Sep 28 12:10:10 CEST 2019
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch 3.6.x
in repository nx-libs.
commit 3c9ee1ff7bc78d91b28eb52f8d15b4f3bf514be1
Author: Ulrich Sibiller <uli42 at gmx.de>
Date: Wed May 8 23:21:30 2019 +0200
nxagent: Determine nxagentProgName only once
also add TEST prints, init nxagentProgName with NULL and add const
where it was missing.
Fixes ArcticaProject/nx-libs#803
---
nx-X11/programs/Xserver/hw/nxagent/Args.c | 28 +++++++++++++++++++++-------
nx-X11/programs/Xserver/hw/nxagent/Init.c | 7 ++++++-
2 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c
index 949892f25..607dab9bf 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Args.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c
@@ -126,7 +126,7 @@ extern int _XGetBitsPerPixel(Display *dpy, int depth);
extern char dispatchExceptionAtReset;
-char *nxagentProgName;
+const char *nxagentProgName = NULL;
char nxagentDisplayName[NXAGENTDISPLAYNAMELENGTH];
Bool nxagentSynchronize = False;
@@ -186,17 +186,31 @@ char *nxagentKeystrokeFile = NULL;
int ddxProcessArgument(int argc, char *argv[], int i)
{
/*
- * Ensure that the options are set to their defaults.
+ * The flavour can never change, so only set it once.
+ *
+ * FIXME: ddxProcessArgument() is called once for every command line
+ * argument, with argv[0] being the argument and not the program
+ * name! We should move this check somewhere else.
*/
+ if (nxagentProgName == NULL)
+ {
+ char *basec = strdup(argv[0]);
+ nxagentProgName = strdup(basename(basec));
+ free(basec);
- char *basec = strdup(argv[0]);
- nxagentProgName = strdup(basename(basec));
- free(basec);
+ /*
+ * Check if we are running as X2Go Agent
+ */
+ checkX2goAgent();
+ }
+
+ #ifdef TEST
+ fprintf(stderr, "%s: argv[0] [%s] nxagentProgName [%s]\n", __func__, argv[0], nxagentProgName);
+ #endif
/*
- * Check if we running as X2Go Agent
+ * Ensure that the options are set to their defaults.
*/
- checkX2goAgent();
static Bool resetOptions = True;
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.c b/nx-X11/programs/Xserver/hw/nxagent/Init.c
index d95c4b70f..d02af3f8d 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
@@ -194,7 +194,12 @@ int nxagentX2go;
void checkX2goAgent(void)
{
- extern char *nxagentProgName;
+ extern const char *nxagentProgName;
+
+ #ifdef TEST
+ fprintf(stderr, "%s: nxagentProgName [%s]\n", __func__, nxagentProgName);
+ #endif
+
if( strcasecmp(nxagentProgName,"x2goagent") == 0)
{
fprintf(stderr, "\nrunning as X2Go Agent\n");
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
More information about the x2go-commits
mailing list