Handle undefined MAXPATHLEN for Hurd

Extracted from the Debian bulk patch

Source: https://sources.debian.org/patches/opensp/1.5.2-15.2/diff-1.0.patch/
Description: Patch created in switch to source format 3.0 (quilt)
 The orig.tar.gz for this software is eighteen years old.  This patch captures
 the state of all changes in this file applied in Debian since then.
Author: Neil Roeth <neil@debian.org>
Last-Update: 2023-12-29

--- a/sx/XmlOutputEventHandler.cxx
+++ b/sx/XmlOutputEventHandler.cxx
@@ -1199,12 +1199,22 @@
           // Check to make sure we haven't passed outside of the
           // output directory
 	  char *dirs = strdup (filePath);
+#ifdef MAXPATHLEN
           char realDirs[MAXPATHLEN];
           char realOutputDir[MAXPATHLEN];
+#else
+          char *realDirs;
+          char *realOutputDir;
+#endif
           char *outputDir = strdup(outputDir_);
 
+#ifdef MAXPATHLEN
           realpath((const char *)dirname(dirs), realDirs);
           realpath((const char *)dirname(outputDir), realOutputDir);
+#else
+          realDirs = realpath((const char *)dirname(dirs), NULL);
+          realOutputDir = realpath((const char *)dirname(outputDir), NULL);
+#endif
 
           if (strncmp(realDirs, realOutputDir, strlen (realOutputDir)) != 0) {
             app_->message(XmlOutputMessages::pathOutsideOutputDirectory,
@@ -1214,6 +1224,11 @@
             }
           }
 
+#ifndef MAXPATHLEN
+	  free(realDirs);
+	  free(realOutputDir);
+#endif
+
 	  // Make the necessary directories
 	  maybeCreateDirectories(dirname(dirs));
 
