#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
+#define DONT_ENCAPSULATE
+#include <sysfile.h>
#ifdef HAVE_STRING_H
#include <string.h>
/* Why is SYSV so retarded? */
/* We want emacs to realize that we are resuming */
+#ifdef SIGCONT
signal(SIGCONT, tell_emacs_to_resume);
+#endif
connect_type = make_connection (NULL, (u_short) 0, &s);
signal (SIGWINCH, pass_signal_to_emacs);
#endif
+#ifdef SIGCONT
/* We want emacs to realize that we are resuming */
signal (SIGCONT, tell_emacs_to_resume);
+#endif
}
fullpath[0] = '\0';
- if (filename[0] && filename[0] != '/')
- { /* relative filename */
+ if (filename[0] && filename[0] == '/')
+ {
+ /* Absolute (unix-style) pathname. Do nothing */
+ strcat (fullpath, filename);
+ }
+#ifdef __CYGWIN32__
+ else if (filename[0] && filename[0] == '\\' &&
+ filename[1] && filename[1] == '\\')
+ {
+ /* This path includes the server name (something like
+ "\\server\path"), so we assume it's absolute. Do nothing to
+ it. */
+ strcat (fullpath, filename);
+ }
+ else if (filename[0] &&
+ filename[1] && filename[1] == ':' &&
+ filename[2] && filename[2] == '\\')
+ {
+ /* Absolute pathname with drive letter. Convert "<drive>:"
+ to "//<drive>/". */
+ strcat (fullpath, "//");
+ strncat (fullpath, filename, 1);
+ strcat (fullpath, &filename[2]);
+ }
+#endif
+ else
+ {
+ /* Assume relative Unix style path. Get the current directory
+ and prepend it. FIXME: need to fix the case of DOS paths like
+ "\foo", where we need to get the current drive. */
+
strcat (fullpath, get_current_working_directory ());
len = strlen (fullpath);
; /* yep */
else
strcat (fullpath, "/"); /* nope, append trailing slash */
- } /* if */
-
- strcat (fullpath,filename);
-
+ /* Don't forget to add the filename! */
+ strcat (fullpath,filename);
+ }
} /* filename_expand */
/* Encase the string in quotes, escape all the backslashes and quotes
if (read_line (s, buffer) == 0)
{
- fprintf (stderr, "%s: Could not establish Emacs procces id\n",
+ fprintf (stderr, "%s: Could not establish Emacs process id\n",
progname);
exit (1);
}