File tcsh-6.18.03.dif of Package tcsh

---
 config/linux |    7 +++++++
 config_f.h   |   13 +++++++++----
 configure    |    2 +-
 configure.ac |    2 +-
 glob.h       |    3 ++-
 pathnames.h  |    2 +-
 sh.c         |    3 +++
 sh.h         |    2 +-
 sh.print.c   |    8 ++++----
 tc.alloc.c   |   10 ++++++----
 tc.func.c    |    8 ++++++--
 tc.str.c     |    2 +-
 tc.who.c     |    3 +++
 tcsh.man     |    2 +-
 tw.h         |    4 ++++
 15 files changed, 50 insertions(+), 21 deletions(-)

--- config/linux
+++ config/linux	2011-11-16 12:15:09.000000000 +0000
@@ -132,4 +132,11 @@
 # define POSIX
 #endif
 
+#if !defined(PW_SHADOW)
+# define PW_SHADOW
+#endif
+#if !defined(SuSE)
+# define SuSE
+#endif
+
 #endif /* _h_config */
--- config_f.h
+++ config_f.h	2011-11-16 12:17:18.000000000 +0000
@@ -37,7 +37,7 @@
  */
 #ifndef _h_config_f
 #define _h_config_f
-
+#include <features.h>
 /*
  * SHORT_STRINGS Use at least 16 bit characters instead of 8 bit chars
  * 	         This fixes up quoting problems and eases implementation
@@ -60,7 +60,12 @@
 /*
  * LOGINFIRST   Source ~/.login before ~/.cshrc
  */
-#undef LOGINFIRST
+#define LOGINFIRST
+
+/*
+ * USERLOGINFIRST   Source ~/.login before ~/.cshrc
+ */
+#undef USERLOGINFIRST
 
 /*
  * VIDEFAULT    Make the VI mode editor the default
@@ -154,7 +159,7 @@
  *		successful, set $REMOTEHOST to the name or address of the
  *		host
  */
-#define REMOTEHOST
+#undef REMOTEHOST
 
 /*
  * COLOR_LS_F Do you want to use builtin color ls-F ?
@@ -177,7 +182,7 @@
  * RCSID	This defines if we want rcs strings in the binary or not
  *
  */
-#if !defined(lint) && !defined(SABER) && !defined(__CLCC__)
+#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) && !defined(__linux__)
 # ifndef __GNUC__
 #  define RCSID(id) static char *rcsid = (id);
 # else
--- configure
+++ configure	2011-11-16 10:49:20.000000000 +0000
@@ -4277,7 +4277,7 @@ return tgetent ();
   return 0;
 }
 _ACEOF
-for ac_lib in '' termlib termcap curses ncurses; do
+for ac_lib in '' termlib termcap tinfo curses ncurses; do
   if test -z "$ac_lib"; then
     ac_res="none required"
   else
--- configure.ac
+++ configure.ac	2015-05-04 14:27:52.000000000 +0000
@@ -309,7 +309,7 @@ fi
 dnl Checks for libraries
 AC_SEARCH_LIBS(crypt, crypt)
 AC_SEARCH_LIBS(getspnam, sec)
-AC_SEARCH_LIBS(tgetent, termlib termcap curses ncurses)
+AC_SEARCH_LIBS(tgetent, termlib termcap tinfo curses ncurses)
 AC_SEARCH_LIBS(gethostbyname, nsl)
 AC_SEARCH_LIBS(connect, socket)
 AC_SEARCH_LIBS(catgets, catgets)
--- glob.h
+++ glob.h	2006-04-25 12:58:31.000000000 +0000
@@ -72,6 +72,7 @@ typedef struct {
 #define	GLOB_NOSYS	(-4)	/* Implementation does not support function. */
 
 /* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */
+#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE)
 #define	GLOB_ALTDIRFUNC	0x0040	/* Use alternately specified directory funcs. */
 #define	GLOB_BRACE	0x0080	/* Expand braces ala csh. */
 #define	GLOB_MAGCHAR	0x0100	/* Pattern had globbing characters. */
@@ -84,7 +85,7 @@ typedef struct {
 #define	GLOB_DOT	0x8000	/* don't skip dotfiles (except . and ..) */
 
 #define	GLOB_ABEND	GLOB_ABORTED	/* source compatibility */
-/* #endif */
+#endif
 
 int	glob (const char *, int, int (*)(const char *, int), glob_t *);
 void	globfree (glob_t *);
--- pathnames.h
+++ pathnames.h	2006-04-25 12:58:31.000000000 +0000
@@ -84,7 +84,7 @@
 # endif /* !_PATH_DOTLOGIN */
 #endif /* sgi || OREO || cray || AMIX || CDC */
 
-#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL)
+#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL)
 # define _PATH_TCSHELL		"/bin/tcsh"		/* 1st class shell */
 #endif /* _CRAYCOM && !_PATH_TCSHELL */
 
--- sh.c
+++ sh.c	2010-12-10 16:10:45.000000000 +0000
@@ -1365,6 +1365,9 @@ main(int argc, char **argv)
 	    setintr = osetintr;
 	    parintr = oparintr;
 	}
+#ifndef USERLOGINFIRST
+# undef LOGINFIRST
+#endif
 #ifdef LOGINFIRST
 	if (loginsh)
 	    (void) srccat(varval(STRhome), STRsldotlogin);
--- tc.alloc.c
+++ tc.alloc.c	2015-05-04 14:29:30.000000000 +0000
@@ -514,7 +514,7 @@ smalloc(size_t n)
 {
     ptr_t   ptr;
 
-    n = n ? n : 1;
+    n = n ? n+1 : 1;
 
 #ifdef USE_SBRK
     if (membot == NULL)
@@ -537,7 +537,7 @@ srealloc(ptr_t p, size_t n)
 {
     ptr_t   ptr;
 
-    n = n ? n : 1;
+    n = n ? n+1 : 1;
 
 #ifdef USE_SBRK
     if (membot == NULL)
@@ -561,7 +561,7 @@ scalloc(size_t s, size_t n)
     ptr_t   ptr;
 
     n *= s;
-    n = n ? n : 1;
+    n = n ? n+1 : 1;
 
 #ifdef USE_SBRK
     if (membot == NULL)
@@ -586,8 +586,10 @@ scalloc(size_t s, size_t n)
 void
 sfree(ptr_t p)
 {
-    if (p && !dont_free)
+    if (p && !dont_free) {
 	free(p);
+	p = (ptr_t)NULL;
+    }
 }
 
 #endif /* SYSMALLOC */
--- tc.func.c
+++ tc.func.c	2007-07-13 11:15:03.000000000 +0000
@@ -714,9 +714,13 @@ auto_lock(void)
 	    handle_pending_signals();
 	    errno = 0;
 	}
-	if (spw != NULL)			 /* shadowed passwd	  */
+	if (spw != NULL)			/* shadowed passwd	  */
 	    srpp = spw->sp_pwdp;
+	else
+	    srpp = pw->pw_passwd;		/* nis extended passwd?  */
     }
+    endspent();
+    endpwent();
 
 #else
 
@@ -1933,7 +1937,7 @@ getremotehost(int dest_fd)
 	     * have not caught up yet.
 	     */
 	    addr.s_addr = inet_addr(name);
-	    if (addr.s_addr != (unsigned int)~0)
+	    if (addr.s_addr != ~0U)
 		host = name;
 	    else {
 		if (sptr != name) {
--- tc.str.c
+++ tc.str.c	2006-04-25 12:58:31.000000000 +0000
@@ -342,7 +342,7 @@ s_strlen(const Char *str)
 {
     size_t n;
 
-    for (n = 0; *str++; n++)
+    for (n = 0; str && *str; n++, str++)
 	continue;
     return (n);
 }
--- tc.who.c
+++ tc.who.c	2012-01-16 09:55:14.000000000 +0000
@@ -280,6 +280,9 @@ watch_login(int force)
     }
     stlast = sta.st_mtime;
 #if defined(HAVE_GETUTENT) || defined(HAVE_GETUTXENT)
+# ifndef HAVE_UTMPX_H
+    utmpname( _PATH_UTMP );
+# endif
     setutent();
 #else
     if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) {
--- tcsh.man
+++ tcsh.man	2006-04-25 12:58:31.000000000 +0000
@@ -579,7 +579,7 @@ Repeating \fIdabbrev-expand\fR without a
 changes to the next previous word etc., skipping identical matches
 much like \fIhistory-search-backward\fR does.
 .TP 8
-.B delete-char \fR(not bound)
+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
 Deletes the character under the cursor.
 See also \fIdelete-char-or-list-or-eof\fR.
 .TP 8
--- tw.h
+++ tw.h	2006-04-25 12:58:31.000000000 +0000
@@ -33,6 +33,10 @@
 #ifndef _h_tw
 #define _h_tw
 
+#ifndef _h_sh
+# include "sh.h"
+#endif
+
 #define TW_PATH		0x1000
 #define TW_ZERO		0x0fff
 
openSUSE Build Service is sponsored by