[X2Go-Commits] [nx-libs] 07/219: Font.c: build the font paths at runtime
git-admin at x2go.org
git-admin at x2go.org
Sat Sep 28 12:10:11 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 8029141e772568872e668cfb1df9b5a7968d2236
Author: Ulrich Sibiller <uli42 at gmx.de>
Date: Tue Apr 23 19:19:04 2019 +0200
Font.c: build the font paths at runtime
Drop the font path defines and build the path strings at runtime instead.
---
nx-X11/programs/Xserver/hw/nxagent/Font.c | 67 ++++++++++++++++---------------
1 file changed, 34 insertions(+), 33 deletions(-)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Font.c b/nx-X11/programs/Xserver/hw/nxagent/Font.c
index 23fcfe8d5..8c1cb7269 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Font.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Font.c
@@ -76,21 +76,13 @@ is" without express or implied warranty.
#define NXAGENT_ALTERNATE_FONT_DIR_2 "/usr/share/fonts/X11"
#define NXAGENT_ALTERNATE_FONT_DIR_3 "/usr/X11R6/lib/X11/fonts"
-#define NXAGENT_DEFAULT_FONT_PATH \
-"/usr/share/nx/fonts/Type1/,/usr/share/nx/fonts/75dpi/,\
-/usr/share/nx/fonts/100dpi/,/usr/share/nx/fonts/TTF/"
-
-#define NXAGENT_ALTERNATE_FONT_PATH \
-"/usr/share/X11/fonts/Type1/,/usr/share/X11/fonts/75dpi/,\
-/usr/share/X11/fonts/100dpi/,/usr/share/X11/fonts/TTF/"
-
-#define NXAGENT_ALTERNATE_FONT_PATH_2 \
-"/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,\
-/usr/share/fonts/X11/100dpi/,/usr/share/fonts/X11/TTF/"
-
-#define NXAGENT_ALTERNATE_FONT_PATH_3 \
-"/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/75dpi/,\
-/usr/X11R6/lib/X11/fonts/100dpi/,/usr/X11R6/lib/X11/fonts/TTF/"
+const char * nxagentFontSubdirs[] = {
+ "Type1",
+ "75dpi",
+ "100dpi",
+ "TTF",
+ NULL
+};
#undef NXAGENT_FONTCACHE_DEBUG
#undef NXAGENT_RECONNECT_FONT_DEBUG
@@ -1439,10 +1431,9 @@ static Bool nxagentGetFontServerPath(char * fontServerPath, int size)
return True;
}
-void nxagentVerifySingleFontPath(char **dest, const char *fontDir, const char *fontPath)
+void nxagentVerifySingleFontPath(char **dest, const char *fontDir)
{
struct stat dirStat;
- char * newdest = NULL;
if (!dest || !*dest)
return;
@@ -1455,22 +1446,32 @@ void nxagentVerifySingleFontPath(char **dest, const char *fontDir, const char *f
validateString(fontDir));
#endif
- if (**dest != '\0')
+ for (int i = 0; ; i++)
{
- newdest = realloc(*dest, strlen(*dest) + strlen(fontPath) + 2);
- if (newdest == NULL)
+ char *tmppath = NULL;
+ int rc;
+
+ const char *subdir = nxagentFontSubdirs[i];
+
+ if (subdir == NULL)
return;
- strcat(newdest, ",");
- }
- else
- {
- newdest = realloc(*dest, strlen(*dest) + strlen(fontPath) + 1);
- if (newdest == NULL)
+
+ if (**dest != '\0')
+ {
+ rc = asprintf(&tmppath, "%s,%s/%s", *dest, fontDir, subdir);
+ }
+ else
+ {
+ rc = asprintf(&tmppath, "%s/%s", fontDir, subdir);
+ }
+
+ if (rc == -1)
return;
- }
- strcat(newdest, fontPath);
- *dest = newdest;
+ free(*dest);
+ *dest = tmppath;
+ tmppath = NULL;
+ }
}
}
@@ -1496,10 +1497,10 @@ void nxagentVerifyDefaultFontPath(void)
return;
}
- nxagentVerifySingleFontPath(&fontPath, NXAGENT_DEFAULT_FONT_DIR, NXAGENT_DEFAULT_FONT_PATH);
- nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR, NXAGENT_ALTERNATE_FONT_PATH);
- nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR_2, NXAGENT_ALTERNATE_FONT_PATH_2);
- nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR_3, NXAGENT_ALTERNATE_FONT_PATH_3);
+ nxagentVerifySingleFontPath(&fontPath, NXAGENT_DEFAULT_FONT_DIR);
+ nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR);
+ nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR_2);
+ nxagentVerifySingleFontPath(&fontPath, NXAGENT_ALTERNATE_FONT_DIR_3);
if (*fontPath == '\0')
{
--
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