Commit bfb61299 authored by Jim Blandy's avatar Jim Blandy

*** empty log message ***

parent f7be7f78
...@@ -19,7 +19,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -19,7 +19,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "config.h" #include "config.h"
#ifdef VMS
#include "pwd.h"
#else
#include <pwd.h> #include <pwd.h>
#endif
#include "lisp.h" #include "lisp.h"
#include "buffer.h" #include "buffer.h"
#include "window.h" #include "window.h"
......
...@@ -379,8 +379,10 @@ main (argc, argv, envp) ...@@ -379,8 +379,10 @@ main (argc, argv, envp)
signal (22, fatal_error_signal); signal (22, fatal_error_signal);
signal (23, fatal_error_signal); signal (23, fatal_error_signal);
signal (24, fatal_error_signal); signal (24, fatal_error_signal);
#ifdef SIGIO
signal (SIGAIO, fatal_error_signal); signal (SIGAIO, fatal_error_signal);
signal (SIGPTY, fatal_error_signal); signal (SIGPTY, fatal_error_signal);
#endif
signal (SIGIOINT, fatal_error_signal); signal (SIGIOINT, fatal_error_signal);
signal (SIGGRANT, fatal_error_signal); signal (SIGGRANT, fatal_error_signal);
signal (SIGRETRACT, fatal_error_signal); signal (SIGRETRACT, fatal_error_signal);
......
...@@ -20,12 +20,27 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -20,12 +20,27 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#ifdef VMS
#include "pwd.h"
#else
#include <pwd.h> #include <pwd.h>
#endif
#include <ctype.h> #include <ctype.h>
#ifdef VMS
#include "dir.h"
#include <perror.h>
#include <stddef.h>
#include <string.h>
#else
#include <sys/dir.h> #include <sys/dir.h>
#endif
#include <errno.h> #include <errno.h>
#ifndef VMS #ifndef vax11c
extern int errno; extern int errno;
extern char *sys_errlist[]; extern char *sys_errlist[];
extern int sys_nerr; extern int sys_nerr;
...@@ -46,7 +61,6 @@ extern int sys_nerr; ...@@ -46,7 +61,6 @@ extern int sys_nerr;
#include "window.h" #include "window.h"
#ifdef VMS #ifdef VMS
#include <perror.h>
#include <file.h> #include <file.h>
#include <rmsdef.h> #include <rmsdef.h>
#include <fab.h> #include <fab.h>
...@@ -217,7 +231,8 @@ file_name_as_directory (out, in) ...@@ -217,7 +231,8 @@ file_name_as_directory (out, in)
brack = ']'; brack = ']';
strcpy (out, "[."); strcpy (out, "[.");
} }
if (dot = index (p, '.')) dot = index (p, '.');
if (dot)
{ {
/* blindly remove any extension */ /* blindly remove any extension */
size = strlen (out) + (dot - p); size = strlen (out) + (dot - p);
...@@ -348,7 +363,8 @@ directory_file_name (src, dst) ...@@ -348,7 +363,8 @@ directory_file_name (src, dst)
/* If bracket is ']' or '>', bracket - 2 is the corresponding /* If bracket is ']' or '>', bracket - 2 is the corresponding
opening bracket. */ opening bracket. */
if (!(ptr = index (src, bracket - 2))) ptr = index (src, bracket - 2);
if (ptr == 0)
{ /* no opening bracket */ { /* no opening bracket */
strcpy (dst, src); strcpy (dst, src);
return 0; return 0;
...@@ -648,9 +664,24 @@ See also the function `substitute-in-file-name'.") ...@@ -648,9 +664,24 @@ See also the function `substitute-in-file-name'.")
newdir = XSTRING (defalt)->data; newdir = XSTRING (defalt)->data;
} }
/* Now concatenate the directory and name to new space in the stack frame */ if (newdir != 0)
{
/* Get rid of any slash at the end of newdir. */
int length = strlen (newdir);
if (newdir[length - 1] == '/')
{
unsigned char *temp = (unsigned char *) alloca (length);
bcopy (newdir, temp, length - 1);
temp[length - 1] = 0;
newdir = temp;
}
tlen = length + 1;
}
else
tlen = 0;
tlen = (newdir ? strlen (newdir) + 1 : 0) + strlen (nm) + 1; /* Now concatenate the directory and name to new space in the stack frame */
tlen += strlen (nm) + 1;
target = (unsigned char *) alloca (tlen); target = (unsigned char *) alloca (tlen);
*target = 0; *target = 0;
......
...@@ -20,7 +20,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ...@@ -20,7 +20,13 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include "config.h" #include "config.h"
#ifdef VMS
#include "pwd.h"
#else
#include <pwd.h> #include <pwd.h>
#endif
#include <errno.h> #include <errno.h>
#include <sys/file.h> #include <sys/file.h>
#ifdef USG #ifdef USG
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment