summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/etags.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 35e396c3be7..536ca567f18 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -4332,19 +4332,7 @@ concat (s1, s2, s3)
char *
etags_getcwd ()
{
-#ifdef MSDOS
- char *p, path[MAXPATHLEN + 1]; /* Fixed size is safe on MSDOS. */
-
- getwd (path);
- for (p = path; *p != '\0'; p++)
- if (*p == '\\')
- *p = '/';
- else
- *p = lowcase (*p);
-
- return strdup (path);
-#else /* not MSDOS */
-#if HAVE_GETCWD
+#ifdef HAVE_GETCWD
int bufsize = 200;
char *path = xnew (bufsize, char);
@@ -4357,7 +4345,20 @@ etags_getcwd ()
}
return path;
-#else /* not MSDOS and not HAVE_GETCWD */
+#else /* not HAVE_GETCWD */
+#ifdef MSDOS
+ char *p, path[MAXPATHLEN + 1]; /* Fixed size is safe on MSDOS. */
+
+ getwd (path);
+
+ for (p = path; *p != '\0'; p++)
+ if (*p == '\\')
+ *p = '/';
+ else
+ *p = lowcase (*p);
+
+ return strdup (path);
+#else /* not MSDOS */
struct linebuffer path;
FILE *pipe;
@@ -4368,8 +4369,8 @@ etags_getcwd ()
pclose (pipe);
return path.buffer;
-#endif /* not HAVE_GETCWD */
#endif /* not MSDOS */
+#endif /* not HAVE_GETCWD */
}
/* Return a newly allocated string containing the filename