summaryrefslogtreecommitdiffstats
path: root/kdoctools/meinproc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdoctools/meinproc.cpp')
-rw-r--r--kdoctools/meinproc.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/kdoctools/meinproc.cpp b/kdoctools/meinproc.cpp
index f6796194d..c48706451 100644
--- a/kdoctools/meinproc.cpp
+++ b/kdoctools/meinproc.cpp
@@ -136,9 +136,18 @@ int main(int argc, char **argv) {
}
if ( args->isSet( "check" ) ) {
+#if !defined(PATH_MAX) && defined(__GLIBC__)
+ char *pwd_buffer;
+#else
char pwd_buffer[PATH_MAX];
+#endif
QFileInfo file( QFile::decodeName(args->arg( 0 )) );
- if ( !getcwd( pwd_buffer, sizeof(pwd_buffer) - 1 ) ) {
+#if !defined(PATH_MAX) && defined(__GLIBC__)
+ if ( !(pwd_buffer = getcwd( NULL, 0 ) ) )
+#else
+ if ( !getcwd( pwd_buffer, sizeof(pwd_buffer) - 1 ) )
+#endif
+ {
kdError() << "getcwd failed." << endl;
return 2;
}
@@ -175,11 +184,18 @@ int main(int argc, char **argv) {
}
pclose( xmllint );
chdir( pwd_buffer );
- if ( !noout )
+ if ( !noout ) {
+#if !defined(PATH_MAX) && defined(__GLIBC__)
+ free( pwd_buffer );
+#endif
return 1;
+ }
} else {
kdWarning() << "couldn't find xmllint" << endl;
}
+#if !defined(PATH_MAX) && defined(__GLIBC__)
+ free( pwd_buffer );
+#endif
}
xmlSubstituteEntitiesDefault(1);