changeset 1076:17b9587ff6d5 v7.0.202

updated for version 7.0-202
author vimboss
date Tue, 27 Feb 2007 15:48:28 +0000
parents 21ce954cbdca
children a11e2070c964
files src/Makefile src/ex_cmds.c src/fileio.c src/main.c src/os_unix.c src/osdef1.h.in src/osdef2.h.in src/pty.c src/version.c src/vim.h
diffstat 10 files changed, 49 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/src/Makefile
+++ b/src/Makefile
@@ -201,6 +201,7 @@
 #SunOS 4.1.x			     +X11 -GUI		5.1b (J) Bram Moolenaar
 #SunOS 4.1.3_U1 (sun4c) gcc	     +X11 +GUI Athena	5.0w (J) Darren Hiebert
 #SUPER-UX 6.2 (NEC SX-4) cc	     +X11R6 Motif,Athena4.6b (P) Lennart Schultz
+#Tandem/NSK                                                  (c) Matthew Woehlke
 #Unisys 6035	      cc	     +X11 Motif		5.3  (8) Glauber Ribeiro
 #ESIX V4.2	      cc	     +X11		6.0  (a) Reinhard Wobst
 #Mac OS X 10.[23]     gcc	     Carbon		6.2  (x) Bram Moolenaar
@@ -251,6 +252,7 @@
 # (a)  See line with EXTRA_LIBS below.
 # (b)  When using gcc with the Solaris linker, make sure you don't use GNU
 #      strip, otherwise the binary may not run: "Cannot find ELF".
+# (c)  Add -lfloss to EXTRA_LIBS, see below.
 # (x)  When you get warnings for precompiled header files, run
 #      "sudo fixPrecomps".  Also see CONF_OPT_DARWIN below.
 # }}}
@@ -794,6 +796,9 @@ LINT_OPTIONS = -beprxzF
 ### (a)  ESIX V4.2 (Reinhard Wobst)
 #EXTRA_LIBS = -lnsl -lsocket -lgen -lXIM -lXmu -lXext
 
+### (c)  Tandem/NSK (Matthew Woehlke)
+#EXTRA_LIBS = -lfloss
+
 ### If you want to use ncurses library instead of the automatically found one
 ### after changing this, you need to do "make reconfig".
 #CONF_TERM_LIB = --with-tlib=ncurses
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1772,7 +1772,8 @@ write_viminfo(file, forceit)
 	 */
 	st_old.st_dev = st_old.st_ino = 0;
 	st_old.st_mode = 0600;
-	if (mch_stat((char *)fname, &st_old) == 0 && getuid()
+	if (mch_stat((char *)fname, &st_old) == 0
+		&& getuid() != ROOT_UID
 		&& !(st_old.st_uid == getuid()
 			? (st_old.st_mode & 0200)
 			: (st_old.st_gid == getgid()
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1122,7 +1122,7 @@ retry:
 	    if (!skip_read)
 	    {
 #if SIZEOF_INT > 2
-# ifdef __TANDEM
+# if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L)
 		size = SSIZE_MAX;		    /* use max I/O size, 52K */
 # else
 		size = 0x10000L;		    /* use buffer >= 64K */
--- a/src/main.c
+++ b/src/main.c
@@ -3280,7 +3280,7 @@ prepare_server(parmp)
 #  ifdef FEAT_GUI
 		(gui.in_use
 #   ifdef UNIX
-		 && getuid() != 0
+		 && getuid() != ROOT_UID
 #   endif
 		) ||
 #  endif
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -25,7 +25,7 @@
  * Don't use it for the Mac, it causes a warning for precompiled headers.
  * TODO: use a configure check for precompiled headers?
  */
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__TANDEM)
 # define select select_declared_wrong
 #endif
 
@@ -48,9 +48,11 @@
 /*
  * Use this prototype for select, some include files have a wrong prototype
  */
-#undef select
-#ifdef __BEOS__
-# define select	beos_select
+#ifndef __TANDEM
+# undef select
+# ifdef __BEOS__
+#  define select	beos_select
+# endif
 #endif
 
 #if defined(HAVE_SELECT)
@@ -4770,6 +4772,14 @@ RealWaitForChar(fd, msec, check_for_gpm)
 # else
 	ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
 # endif
+# ifdef __TANDEM
+	if (ret == -1 && errno == ENOTSUP)
+	{
+	    FD_ZERO(&rfds);
+	    FD_ZERO(&efds);
+	    ret = 0;
+	}
+#endif
 # ifdef FEAT_MZSCHEME
 	if (ret == 0 && mzquantum_used)
 	    /* loop if MzThreads must be scheduled and timeout occured */
--- a/src/osdef1.h.in
+++ b/src/osdef1.h.in
@@ -98,7 +98,9 @@ extern int	atol __ARGS((char *));
 
 #ifndef USE_SYSTEM
 extern int	fork __ARGS((void));
+# ifndef __TANDEM
 extern int	execvp __ARGS((const char *, const char **));
+# endif
 extern int	wait __ARGS((int *)); /* will this break things ...? */
 extern int	waitpid __ARGS((pid_t, int *, int));
 #endif
@@ -123,10 +125,12 @@ extern void	longjmp __ARGS((jmp_buf, int
 
 extern int	kill __ARGS((int, int));
 
+#ifndef __TANDEM
 extern int	access __ARGS((char *, int));
+#endif
 extern int	fsync __ARGS((int));
 extern int	fchown __ARGS((int, int, int));
-#if defined(HAVE_GETCWD) && !defined(sun)
+#if defined(HAVE_GETCWD) && !defined(sun) && !defined(__TANDEM)
 extern char	*getcwd __ARGS((char *, int));
 #else
 extern char	*getwd __ARGS((char *));
--- a/src/osdef2.h.in
+++ b/src/osdef2.h.in
@@ -11,13 +11,19 @@ extern char	*getenv __ARGS((char *));
 extern int	setenv __ARGS((char *, char *, int));
 extern int	putenv __ARGS((const char *));
 
+#ifndef __TANDEM
 extern int	gethostname __ARGS((char *, int));
+#endif
 extern void	perror __ARGS((char *));
 
+#ifndef __TANDEM
 extern int	sleep __ARGS((int));
+#endif
 extern int	usleep __ARGS((unsigned int));
 extern unsigned int	alarm __ARGS((unsigned int));
+#ifndef __TANDEM
 extern int	chdir __ARGS((char *));
+#endif
 extern int	fchdir __ARGS((int));
 #ifndef stat	/* could be redefined to stat64() */
 extern int	stat __ARGS((const char *, struct stat *));
@@ -28,8 +34,10 @@ extern int	lstat __ARGS((const char *, s
 extern int	fstat __ARGS((int, struct stat *));
 extern int	open __ARGS((const char *, int, ...));
 extern int	close __ARGS((int));
+#ifndef __TANDEM
 extern int	read __ARGS((int, char *, size_t));
 extern int	write __ARGS((int, char *, size_t));
+#endif
 extern int	pipe __ARGS((int *));
 extern off_t	lseek __ARGS((int, off_t, int));
 extern void	sync __ARGS((void));
--- a/src/pty.c
+++ b/src/pty.c
@@ -330,7 +330,7 @@ OpenPTY(ttyn)
     if ((f = open("/dev/ptc", O_RDWR | O_NOCTTY | O_EXTRA)) < 0)
 	return -1;
     strncpy(TtyName, ttyname(f), sizeof(TtyName));
-    if (geteuid() && mch_access(TtyName, R_OK | W_OK))
+    if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
     {
 	close(f);
 	return -1;
@@ -394,7 +394,7 @@ OpenPTY(ttyn)
 	    q[0] = *l;
 	    q[1] = *d;
 #ifndef MACOS
-	    if (geteuid() && mch_access(TtyName, R_OK | W_OK))
+	    if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
 	    {
 		close(f);
 		continue;
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    202,
+/**/
     201,
 /**/
     200,
--- a/src/vim.h
+++ b/src/vim.h
@@ -50,6 +50,15 @@
 # endif
 #endif
 
+/* user ID of root is usually zero, but not for everybody */
+#ifdef __TANDEM
+# define _TANDEM_SOURCE
+# include <floss.h>
+# define ROOT_UID 65535
+#else
+# define ROOT_UID 0
+#endif
+
 #ifdef __EMX__		/* hand-edited config.h for OS/2 with EMX */
 # include "os_os2_cfg.h"
 #endif