X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fsysdep.c;h=e027ad290746ce7a760bd2fcb3956ae2079de688;hp=49661f43f745f3dc7b87b9a46254dbcea236cd1d;hb=762383636a99307282c2d93d26c35c046ec24da1;hpb=716cfba952c1dc0d2cf5c968971f3780ba728a89 diff --git a/src/sysdep.c b/src/sysdep.c index 49661f4..e027ad2 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -31,9 +31,8 @@ Boston, MA 02111-1307, USA. */ #include -#ifdef WINDOWSNT -#include -#ifdef __MINGW32__ +#ifdef WIN32_NATIVE +#ifdef MINGW #include #else /* should not conflict with "process.h", as per ANSI definition. @@ -45,13 +44,11 @@ Boston, MA 02111-1307, USA. */ which will conflict with the macro defined in lisp.h */ #include <../include/process.h> -#endif /* __MINGW32__ */ -#endif /* WINDOWSNT */ +#endif /* MINGW */ +#endif /* WIN32_NATIVE */ #include "lisp.h" -#include - /* ------------------------------- */ /* basic includes */ /* ------------------------------- */ @@ -81,16 +78,20 @@ Boston, MA 02111-1307, USA. */ #include "syswait.h" #include "sysdir.h" #include "systime.h" -#if defined(WINDOWSNT) || defined(__CYGWIN32__) +#if defined(WIN32_NATIVE) || defined(CYGWIN) #include "syssignal.h" #endif -#ifndef WINDOWSNT + +#include "sysproc.h" + +#ifndef WIN32_NATIVE #include #endif -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE #include #include "ntheap.h" +#include "nt.h" #endif /* ------------------------------- */ @@ -233,7 +234,7 @@ wait_without_blocking (void) #endif /* NO_SUBPROCESSES */ -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE void wait_for_termination (HANDLE pHandle) #else void wait_for_termination (int pid) @@ -347,7 +348,7 @@ void wait_for_termination (int pid) Since implementations may add their own error indicators on top, we ignore it by default. */ -#elif defined (WINDOWSNT) +#elif defined (WIN32_NATIVE) int ret = 0, status = 0; if (pHandle == NULL) { @@ -421,7 +422,7 @@ void wait_for_termination (int pid) Try defining BROKEN_WAIT_FOR_SIGNAL. */ EMACS_WAIT_FOR_SIGNAL (SIGCHLD); } -#else /* not HAVE_WAITPID and not WINDOWSNT and (not EMACS_BLOCK_SIGNAL or BROKEN_WAIT_FOR_SIGNAL) */ +#else /* not HAVE_WAITPID and not WIN32_NATIVE and (not EMACS_BLOCK_SIGNAL or BROKEN_WAIT_FOR_SIGNAL) */ /* This approach is kind of cheesy but is guaranteed(?!) to work for all systems. */ while (1) @@ -459,7 +460,7 @@ flush_pending_output (int channel) #endif } -#ifndef WINDOWSNT +#ifndef WIN32_NATIVE /* Set up the terminal at the other end of a pseudo-terminal that we will be controlling an inferior through. It should not echo or do line-editing, since that is done @@ -570,7 +571,7 @@ child_setup_tty (int out) } #endif /* RTU */ } -#endif /* WINDOWSNT */ +#endif /* WIN32_NATIVE */ #endif /* not NO_SUBPROCESSES */ @@ -611,21 +612,21 @@ restore_signal_handlers (struct save_signal *saved_handlers) } } -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE + pid_t sys_getpid (void) { return abs (getpid ()); } -#endif /* WINDOWSNT */ + +#endif /* WIN32_NATIVE */ /* Fork a subshell. */ static void sys_subshell (void) { -#ifdef WINDOWSNT - HANDLE pid; -#else +#ifndef WIN32_NATIVE int pid; #endif struct save_signal saved_handlers[5]; @@ -660,22 +661,18 @@ sys_subshell (void) str = (unsigned char *) alloca (XSTRING_LENGTH (dir) + 2); len = XSTRING_LENGTH (dir); memcpy (str, XSTRING_DATA (dir), len); - /* #### Unix specific */ - if (str[len - 1] != '/') str[len++] = '/'; + if (!IS_ANY_SEP (str[len - 1])) + str[len++] = DIRECTORY_SEP; str[len] = 0; xyzzy: -#ifdef WINDOWSNT - pid = NULL; -#else /* not WINDOWSNT */ - +#ifndef WIN32_NATIVE pid = fork (); if (pid == -1) error ("Can't spawn subshell"); if (pid == 0) - -#endif /* not WINDOWSNT */ +#endif /* not WIN32_NATIVE */ { char *sh = 0; @@ -688,7 +685,18 @@ sys_subshell (void) if (str) sys_chdir (str); -#if !defined (NO_SUBPROCESSES) && !defined (WINDOWSNT) +#ifdef WIN32_NATIVE + + /* Waits for process completion */ + if (_spawnlp (_P_WAIT, sh, sh, NULL) != 0) + error ("Can't spawn subshell"); + else + return; /* we're done, no need to wait for termination */ + } + +#else + +#if !defined (NO_SUBPROCESSES) close_process_descs (); /* Close Emacs's pipes/ptys */ #endif @@ -697,23 +705,18 @@ sys_subshell (void) nice (-emacs_priority); /* Give the new shell the default priority */ #endif -#ifdef WINDOWSNT - /* Waits for process completion */ - pid = _spawnlp (_P_WAIT, sh, sh, NULL); - if (pid == NULL) - write (1, "Can't execute subshell", 22); - -#else /* not WINDOWSNT */ execlp (sh, sh, 0); write (1, "Can't execute subshell", 22); _exit (1); -#endif /* not WINDOWSNT */ } save_signal_handlers (saved_handlers); synch_process_alive = 1; wait_for_termination (pid); restore_signal_handlers (saved_handlers); + +#endif /* not WIN32_NATIVE */ + } #endif /* !defined (SIGTSTP) && !defined (USG_JOBCTRL) */ @@ -760,23 +763,31 @@ sys_suspend_process (int process) /* Given FD, obtain pty buffer size. When no luck, a good guess is made, - so that the function works even fd is not a pty. */ + so that the function works even when fd is not a pty. */ int get_pty_max_bytes (int fd) { - int pty_max_bytes; - + /* DEC OSF 4.0 fpathconf returns 255, but xemacs hangs on long shell + input lines if we return 253. 252 is OK!. So let's leave a bit + of slack for the newline that xemacs will insert, and for those + inevitable vendor off-by-one-or-two-or-three bugs. */ +#define MAX_CANON_SLACK 10 +#define SAFE_MAX_CANON (127 - MAX_CANON_SLACK) #if defined (HAVE_FPATHCONF) && defined (_PC_MAX_CANON) - pty_max_bytes = fpathconf (fd, _PC_MAX_CANON); - if (pty_max_bytes < 0) + { + int max_canon = fpathconf (fd, _PC_MAX_CANON); + return (max_canon < 0 ? SAFE_MAX_CANON : + max_canon > SAFE_MAX_CANON ? max_canon - MAX_CANON_SLACK : + max_canon); + } +#elif defined (_POSIX_MAX_CANON) + return (_POSIX_MAX_CANON > SAFE_MAX_CANON ? + _POSIX_MAX_CANON - MAX_CANON_SLACK : + _POSIX_MAX_CANON); +#else + return SAFE_MAX_CANON; #endif - pty_max_bytes = 250; - - /* Deduct one, to leave space for the eof. */ - pty_max_bytes--; - - return pty_max_bytes; } /* Figure out the eof character for the FD. */ @@ -784,7 +795,7 @@ get_pty_max_bytes (int fd) Bufbyte get_eof_char (int fd) { - CONST Bufbyte ctrl_d = (Bufbyte) '\004'; + const Bufbyte ctrl_d = (Bufbyte) '\004'; if (!isatty (fd)) return ctrl_d; @@ -794,7 +805,7 @@ get_eof_char (int fd) tcgetattr (fd, &t); #if 0 /* What is the following line designed to do??? -mrb */ - if (strlen ((CONST char *) t.c_cc) < (unsigned int) (VEOF + 1)) + if (strlen ((const char *) t.c_cc) < (unsigned int) (VEOF + 1)) return ctrl_d; else return (Bufbyte) t.c_cc[VEOF]; @@ -817,7 +828,7 @@ get_eof_char (int fd) { struct termio t; ioctl (fd, TCGETA, &t); - if (strlen ((CONST char *) t.c_cc) < (unsigned int) (VINTR + 1)) + if (strlen ((const char *) t.c_cc) < (unsigned int) (VINTR + 1)) return ctrl_d; else return (Bufbyte) t.c_cc[VINTR]; @@ -951,7 +962,7 @@ init_baud_rate (struct device *d) assert (DEVICE_TTY_P (d)); { int input_fd = CONSOLE_TTY_DATA (con)->infd; -#if defined (WINDOWSNT) +#if defined (WIN32_NATIVE) DEVICE_TTY_DATA (d)->ospeed = 15; #elif defined (HAVE_TERMIOS) struct termios sg; @@ -1377,7 +1388,7 @@ disconnect_controlling_terminal (void) /* It's wrong to encase these into #ifdef HAVE_TTY because we need them for child TTY processes. */ /* However, this does break NT support while we don't do child TTY processes */ -#ifndef WINDOWSNT +#ifndef WIN32_NATIVE /* Set *TC to the parameters associated with the terminal FD. Return zero if all's well, or -1 if we ran into an error we @@ -1396,7 +1407,7 @@ emacs_get_tty (int fd, struct emacs_tty *settings) if (ioctl (fd, TCGETA, &settings->main) < 0) return -1; -#elif !defined (WINDOWSNT) +#elif !defined (WIN32_NATIVE) /* I give up - I hope you have the BSD ioctls. */ if (ioctl (fd, TIOCGETP, &settings->main) < 0) return -1; @@ -1470,7 +1481,7 @@ emacs_set_tty (int fd, struct emacs_tty *settings, int flushp) if (ioctl (fd, flushp ? TCSETAF : TCSETAW, &settings->main) < 0) return -1; -#elif !defined (WINDOWSNT) +#elif !defined (WIN32_NATIVE) /* I give up - I hope you have the BSD ioctls. */ if (ioctl (fd, (flushp) ? TIOCSETP : TIOCSETN, &settings->main) < 0) return -1; @@ -1493,7 +1504,7 @@ emacs_set_tty (int fd, struct emacs_tty *settings, int flushp) return 0; } -#endif /* WINDOWSNT */ +#endif /* WIN32_NATIVE */ /* ------------------------------------------------------ */ /* Initializing a device */ @@ -1653,14 +1664,14 @@ tty_init_sys_modes_on_device (struct device *d) tty.main.c_iflag &= ~BRKINT; #endif /* AIX */ #else /* if not HAVE_TERMIO */ -#if !defined (WINDOWSNT) +#if !defined (WIN32_NATIVE) con->tty_erase_char = make_char (tty.main.sg_erase); tty.main.sg_flags &= ~(ECHO | CRMOD | XTABS); if (TTY_FLAGS (con).meta_key) tty.main.sg_flags |= ANYP; /* #### should we be using RAW mode here? */ tty.main.sg_flags |= /* interrupt_input ? RAW : */ CBREAK; -#endif /* not WINDOWSNT */ +#endif /* not WIN32_NATIVE */ #endif /* not HAVE_TERMIO */ /* If going to use CBREAK mode, we must request C-g to interrupt @@ -2143,24 +2154,15 @@ hft_reset (struct console *con) #if !defined(HAVE_TEXT_START) && !defined(PDUMP) -#ifdef __cplusplus - extern "C" int _start (void); -#else - extern int _start (void); -#endif +EXTERN_C int _start (void); char * start_of_text (void) { #ifdef TEXT_START - return ((char *) TEXT_START); + return (char *) TEXT_START; #else -#ifdef GOULD - extern csrt (); - return ((char *) csrt); -#else /* not GOULD */ - return ((char *) _start); -#endif /* GOULD */ + return (char *) _start; #endif /* TEXT_START */ } #endif /* !defined(HAVE_TEXT_START) && !defined(PDUMP) */ @@ -2191,7 +2193,7 @@ start_of_text (void) * */ -#ifdef ORDINARY_LINK +#if defined(ORDINARY_LINK) && !defined(MINGW) extern char **environ; #endif @@ -2208,7 +2210,7 @@ start_of_data (void) * is known to live at or near the start of the system crt0.c, and * we don't sweat the handful of bytes that might lose. */ -#ifdef HEAP_IN_DATA +#if defined (HEAP_IN_DATA) && !defined(PDUMP) extern char* static_heap_base; if (!initialized) return static_heap_base; @@ -2269,15 +2271,10 @@ end_of_data (void) extern Lisp_Object Vsystem_name; -#ifdef HAVE_SOCKETS -# include -# include -#endif /* HAVE_SOCKETS */ - void init_system_name (void) { -#if defined (WINDOWSNT) +#if defined (WIN32_NATIVE) char hostname [MAX_COMPUTERNAME_LENGTH + 1]; size_t size = sizeof (hostname); GetComputerName (hostname, &size); @@ -2335,7 +2332,7 @@ init_system_name (void) # endif if (hp) { - CONST char *fqdn = (CONST char *) hp->h_name; + const char *fqdn = (const char *) hp->h_name; if (!strchr (fqdn, '.')) { @@ -2495,7 +2492,7 @@ sys_do_signal (int signal_number, signal_handler_t action) /* Linux added here by Raymond L. Toy for XEmacs. */ /* Irix added here by gparker@sni-usa.com for XEmacs. */ /* NetBSD added here by James R Grinter for XEmacs */ -extern CONST char *sys_errlist[]; +extern const char *sys_errlist[]; extern int sys_nerr; #endif @@ -2505,17 +2502,17 @@ extern int sys_nerr; #endif -CONST char * +const char * strerror (int errnum) { if (errnum >= 0 && errnum < sys_nerr) return sys_errlist[errnum]; - return ((CONST char *) GETTEXT ("Unknown error")); + return ((const char *) GETTEXT ("Unknown error")); } #endif /* ! HAVE_STRERROR */ -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE struct errentry { unsigned long oscode; /* Win32 error */ @@ -2612,7 +2609,7 @@ mswindows_set_last_errno (void) mswindows_set_errno (GetLastError ()); } -#endif /* WINDOWSNT */ +#endif /* WIN32_NATIVE */ /************************************************************************/ @@ -2644,7 +2641,7 @@ mswindows_set_last_errno (void) #ifdef ENCAPSULATE_OPEN int -sys_open (CONST char *path, int oflag, ...) +sys_open (const char *path, int oflag, ...) { int mode; va_list ap; @@ -2653,7 +2650,9 @@ sys_open (CONST char *path, int oflag, ...) mode = va_arg (ap, int); va_end (ap); -#ifdef WINDOWSNT + PATHNAME_CONVERT_OUT (path); + +#ifdef WIN32_NATIVE /* Make all handles non-inheritable */ oflag |= _O_NOINHERIT; #endif @@ -2681,7 +2680,7 @@ sys_open (CONST char *path, int oflag, ...) is not interrupted by C-g. However, the worst that can happen is the fallback to simple open(). */ int -interruptible_open (CONST char *path, int oflag, int mode) +interruptible_open (const char *path, int oflag, int mode) { /* This function can GC */ size_t len = strlen (path); @@ -2693,7 +2692,7 @@ interruptible_open (CONST char *path, int oflag, int mode) PATHNAME_CONVERT_OUT (nonreloc); -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE /* Make all handles non-inheritable */ oflag |= _O_NOINHERIT; #endif @@ -2757,10 +2756,10 @@ sys_read (int fildes, void *buf, size_t nbyte) #endif /* ENCAPSULATE_READ */ ssize_t -sys_write_1 (int fildes, CONST void *buf, size_t nbyte, int allow_quit) +sys_write_1 (int fildes, const void *buf, size_t nbyte, int allow_quit) { ssize_t bytes_written = 0; - CONST char *b = (CONST char *) buf; + const char *b = (const char *) buf; /* No harm in looping regardless of the INTERRUPTIBLE_IO setting. */ while (nbyte > 0) @@ -2786,7 +2785,7 @@ sys_write_1 (int fildes, CONST void *buf, size_t nbyte, int allow_quit) #ifdef ENCAPSULATE_WRITE ssize_t -sys_write (int fildes, CONST void *buf, size_t nbyte) +sys_write (int fildes, const void *buf, size_t nbyte) { return sys_write_1 (fildes, buf, nbyte, 0); } @@ -2804,10 +2803,10 @@ sys_write (int fildes, CONST void *buf, size_t nbyte) #ifdef ENCAPSULATE_FOPEN FILE * -sys_fopen (CONST char *path, CONST char *type) +sys_fopen (const char *path, const char *type) { PATHNAME_CONVERT_OUT (path); -#if defined (WINDOWSNT) +#if defined (WIN32_NATIVE) { int fd; int oflag; @@ -2914,12 +2913,12 @@ sys_fread (void *ptr, size_t size, size_t nitem, FILE *stream) #ifdef ENCAPSULATE_FWRITE size_t -sys_fwrite (CONST void *ptr, size_t size, size_t nitem, FILE *stream) +sys_fwrite (const void *ptr, size_t size, size_t nitem, FILE *stream) { #ifdef INTERRUPTIBLE_IO size_t rtnval; size_t items_written = 0; - CONST char *b = (CONST char *) ptr; + const char *b = (const char *) ptr; while (nitem > 0) { @@ -2947,7 +2946,7 @@ sys_fwrite (CONST void *ptr, size_t size, size_t nitem, FILE *stream) #ifdef ENCAPSULATE_CHDIR int -sys_chdir (CONST char *path) +sys_chdir (const char *path) { PATHNAME_CONVERT_OUT (path); return chdir (path); @@ -2957,10 +2956,10 @@ sys_chdir (CONST char *path) #ifdef ENCAPSULATE_MKDIR int -sys_mkdir (CONST char *path, mode_t mode) +sys_mkdir (const char *path, mode_t mode) { PATHNAME_CONVERT_OUT (path); -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE return mkdir (path); #else return mkdir (path, mode); @@ -2971,7 +2970,7 @@ sys_mkdir (CONST char *path, mode_t mode) #ifdef ENCAPSULATE_OPENDIR DIR * -sys_opendir (CONST char *filename) +sys_opendir (const char *filename) { DIR *rtnval; PATHNAME_CONVERT_OUT (filename); @@ -3003,7 +3002,7 @@ sys_readdir (DIR *dirp) { Extcount external_len; int ascii_filename_p = 1; - CONST Extbyte * CONST external_name = (CONST Extbyte *) rtnval->d_name; + const Extbyte * const external_name = (const Extbyte *) rtnval->d_name; /* Optimize for the common all-ASCII case, computing len en passant */ for (external_len = 0; external_name[external_len] ; external_len++) @@ -3016,7 +3015,7 @@ sys_readdir (DIR *dirp) { /* Non-ASCII filename */ static Bufbyte_dynarr *internal_DIRENTRY; - CONST Bufbyte *internal_name; + const Bufbyte *internal_name; Bytecount internal_len; if (!internal_DIRENTRY) internal_DIRENTRY = Dynarr_new (Bufbyte); @@ -3056,7 +3055,7 @@ sys_closedir (DIR *dirp) #ifdef ENCAPSULATE_RMDIR int -sys_rmdir (CONST char *path) +sys_rmdir (const char *path) { PATHNAME_CONVERT_OUT (path); return rmdir (path); @@ -3068,7 +3067,7 @@ sys_rmdir (CONST char *path) #ifdef ENCAPSULATE_ACCESS int -sys_access (CONST char *path, int mode) +sys_access (const char *path, int mode) { PATHNAME_CONVERT_OUT (path); return access (path, mode); @@ -3079,7 +3078,7 @@ sys_access (CONST char *path, int mode) #ifdef HAVE_EACCESS #ifdef ENCAPSULATE_EACCESS int -sys_eaccess (CONST char *path, int mode) +sys_eaccess (const char *path, int mode) { PATHNAME_CONVERT_OUT (path); return eaccess (path, mode); @@ -3090,7 +3089,7 @@ sys_eaccess (CONST char *path, int mode) #ifdef ENCAPSULATE_LSTAT int -sys_lstat (CONST char *path, struct stat *buf) +sys_lstat (const char *path, struct stat *buf) { PATHNAME_CONVERT_OUT (path); return lstat (path, buf); @@ -3100,7 +3099,7 @@ sys_lstat (CONST char *path, struct stat *buf) #ifdef ENCAPSULATE_READLINK int -sys_readlink (CONST char *path, char *buf, size_t bufsiz) +sys_readlink (const char *path, char *buf, size_t bufsiz) { PATHNAME_CONVERT_OUT (path); /* #### currently we don't do conversions on the incoming data */ @@ -3108,31 +3107,36 @@ sys_readlink (CONST char *path, char *buf, size_t bufsiz) } #endif /* ENCAPSULATE_READLINK */ - #ifdef ENCAPSULATE_FSTAT int sys_fstat (int fd, struct stat *buf) { +#ifdef WIN32_NATIVE + return mswindows_fstat (fd, buf); +#else return fstat (fd, buf); +#endif } #endif /* ENCAPSULATE_FSTAT */ - #ifdef ENCAPSULATE_STAT int -sys_stat (CONST char *path, struct stat *buf) +sys_stat (const char *path, struct stat *buf) { PATHNAME_CONVERT_OUT (path); +#ifdef WIN32_NATIVE + return mswindows_stat (path, buf); +#else return stat (path, buf); +#endif } #endif /* ENCAPSULATE_STAT */ - /****************** file-manipulation calls *****************/ #ifdef ENCAPSULATE_CHMOD int -sys_chmod (CONST char *path, mode_t mode) +sys_chmod (const char *path, mode_t mode) { PATHNAME_CONVERT_OUT (path); return chmod (path, mode); @@ -3142,7 +3146,7 @@ sys_chmod (CONST char *path, mode_t mode) #ifdef ENCAPSULATE_CREAT int -sys_creat (CONST char *path, mode_t mode) +sys_creat (const char *path, mode_t mode) { PATHNAME_CONVERT_OUT (path); return creat (path, mode); @@ -3152,7 +3156,7 @@ sys_creat (CONST char *path, mode_t mode) #ifdef ENCAPSULATE_LINK int -sys_link (CONST char *existing, CONST char *new) +sys_link (const char *existing, const char *new) { PATHNAME_CONVERT_OUT (existing); PATHNAME_CONVERT_OUT (new); @@ -3163,18 +3167,18 @@ sys_link (CONST char *existing, CONST char *new) #ifdef ENCAPSULATE_RENAME int -sys_rename (CONST char *old, CONST char *new) +sys_rename (const char *old, const char *new) { PATHNAME_CONVERT_OUT (old); PATHNAME_CONVERT_OUT (new); -#ifdef WINDOWSNT +#ifdef WIN32_NATIVE /* Windows rename fails if NEW exists */ if (rename (old, new) == 0) return 0; if (errno != EEXIST) return -1; unlink (new); -#endif /* WINDOWSNT */ +#endif /* WIN32_NATIVE */ return rename (old, new); } #endif /* ENCAPSULATE_RENAME */ @@ -3182,7 +3186,7 @@ sys_rename (CONST char *old, CONST char *new) #ifdef ENCAPSULATE_SYMLINK int -sys_symlink (CONST char *name1, CONST char *name2) +sys_symlink (const char *name1, const char *name2) { PATHNAME_CONVERT_OUT (name1); PATHNAME_CONVERT_OUT (name2); @@ -3193,7 +3197,7 @@ sys_symlink (CONST char *name1, CONST char *name2) #ifdef ENCAPSULATE_UNLINK int -sys_unlink (CONST char *path) +sys_unlink (const char *path) { PATHNAME_CONVERT_OUT (path); return unlink (path); @@ -3203,7 +3207,7 @@ sys_unlink (CONST char *path) #ifdef ENCAPSULATE_EXECVP int -sys_execvp (CONST char *path, char * CONST * argv) +sys_execvp (const char *path, char * const * argv) { int i, argc; char ** new_argv; @@ -3231,7 +3235,7 @@ sys_execvp (CONST char *path, char * CONST * argv) #ifndef HAVE_GETCWD char * -getcwd (char *pathname, int size) +getcwd (char *pathname, size_t size) { return getwd (pathname); } @@ -3275,7 +3279,7 @@ getwd (char *pathname) #ifndef HAVE_RENAME int -rename (CONST char *from, CONST char *to) +rename (const char *from, const char *to) { if (access (from, 0) == 0) { @@ -3389,7 +3393,7 @@ static int process_times_available; static int get_process_times_1 (long *user_ticks, long *system_ticks) { -#if defined (_SC_CLK_TCK) || defined (CLK_TCK) && !defined(WINDOWSNT) +#if defined (_SC_CLK_TCK) || defined (CLK_TCK) && !defined(WIN32_NATIVE) /* We have the POSIX times() function available. */ struct tms tttt; times (&tttt); @@ -3531,8 +3535,8 @@ get_random (void) #if !defined (SYS_SIGLIST_DECLARED) && !defined (HAVE_SYS_SIGLIST) -#if defined(WINDOWSNT) || defined(__CYGWIN32__) -CONST char *sys_siglist[] = +#if defined(WIN32_NATIVE) || defined(CYGWIN) +const char *sys_siglist[] = { "bum signal!!", "hangup", @@ -3565,7 +3569,7 @@ CONST char *sys_siglist[] = #ifdef USG #ifdef AIX -CONST char *sys_siglist[NSIG + 1] = +const char *sys_siglist[NSIG + 1] = { /* AIX has changed the signals a bit */ DEFER_GETTEXT ("bogus signal"), /* 0 */ @@ -3605,7 +3609,7 @@ CONST char *sys_siglist[NSIG + 1] = 0 }; #else /* USG, not AIX */ -CONST char *sys_siglist[NSIG + 1] = +const char *sys_siglist[NSIG + 1] = { DEFER_GETTEXT ("bogus signal"), /* 0 */ DEFER_GETTEXT ("hangup"), /* 1 SIGHUP */ @@ -3654,7 +3658,7 @@ CONST char *sys_siglist[NSIG + 1] = #endif /* not AIX */ #endif /* USG */ #ifdef DGUX -CONST char *sys_siglist[NSIG + 1] = +const char *sys_siglist[NSIG + 1] = { DEFER_GETTEXT ("null signal"), /* 0 SIGNULL */ DEFER_GETTEXT ("hangup"), /* 1 SIGHUP */ @@ -3759,7 +3763,7 @@ closedir (DIR *dirp) /* stream from opendir */ #ifdef NONSYSTEM_DIR_LIBRARY DIR * -opendir (CONST char *filename) /* name of directory */ +opendir (const char *filename) /* name of directory */ { DIR *dirp; /* -> malloc'ed storage */ int fd; /* file descriptor for read */ @@ -3861,7 +3865,7 @@ readdir (DIR *dirp) /* stream from opendir */ MKDIR_PROTOTYPE #else int -mkdir (CONST char *dpath, int dmode) +mkdir (const char *dpath, int dmode) #endif { int cpid, status, fd; @@ -3921,7 +3925,7 @@ mkdir (CONST char *dpath, int dmode) #ifndef HAVE_RMDIR int -rmdir (CONST char *dpath) +rmdir (const char *dpath) { int cpid, status, fd; struct stat statbuf;