aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libopensp/opensp_1.5.2-13.diff
blob: 92781232fd4861709fda37be92c40452650f3413 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- opensp-1.5.2.orig/sx/XmlOutputEventHandler.cxx
+++ opensp-1.5.2/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));