summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2007-02-27 15:48:28 +0000
committerBram Moolenaar <Bram@vim.org>2007-02-27 15:48:28 +0000
commit311d982b6fbcad0cbbc7ca4358a0cd580b16fbc0 (patch)
tree9fac6a814447866636599c5b52c828f6348ae772
parent602eb74de6245dcad1ec77e919a7597789ef1c0e (diff)
updated for version 7.0-202v7.0.202
-rw-r--r--src/Makefile5
-rw-r--r--src/ex_cmds.c3
-rw-r--r--src/fileio.c2
-rw-r--r--src/main.c2
-rw-r--r--src/os_unix.c18
-rw-r--r--src/osdef1.h.in6
-rw-r--r--src/osdef2.h.in8
-rw-r--r--src/pty.c4
-rw-r--r--src/version.c2
-rw-r--r--src/vim.h9
10 files changed, 49 insertions, 10 deletions
diff --git a/src/Makefile b/src/Makefile
index c43eb071cb..304a751c1d 100644
--- 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
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 1bb7ba0966..80ac3f98e6 100644
--- 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()
diff --git a/src/fileio.c b/src/fileio.c
index b4a8e9aac0..20406bb495 100644
--- 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 */
diff --git a/src/main.c b/src/main.c
index 4791c68bf5..3c37698df8 100644
--- 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
diff --git a/src/os_unix.c b/src/os_unix.c
index 639ef31276..5e8f0cbbc7 100644
--- 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 */
diff --git a/src/osdef1.h.in b/src/osdef1.h.in
index fac78e0011..bdc624793f 100644
--- 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 *));
diff --git a/src/osdef2.h.in b/src/osdef2.h.in
index cca78b07c5..f2f97763fc 100644
--- 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 *, struct stat *));
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));
diff --git a/src/pty.c b/src/pty.c
index 8d177d7a96..a340038aff 100644
--- 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;
diff --git a/src/version.c b/src/version.c
index ce13924175..864228eddd 100644
--- 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,
diff --git a/src/vim.h b/src/vim.h
index d69fe412f0..36ff27ab85 100644
--- 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