8ca3d3c0f3
OBS-URL: https://build.opensuse.org/package/show/shells/tcsh?expand=0&rev=6eda0af767546d82eace32504fe56735
800 lines
22 KiB
Plaintext
800 lines
22 KiB
Plaintext
--- .pkgextract
|
||
+++ .pkgextract 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -0,0 +1,6 @@
|
||
+patch -p0 -s --suffix=.spell < ../tcsh-6.15.00-spelling.dif
|
||
+patch -p0 -s --suffix=.utf8 < ../tcsh-6.15.00-utf8.dif
|
||
+patch -p0 -s --suffix=.pipe < ../tcsh-6.15.00-pipe.dif
|
||
+patch -p0 -s --suffix=.longjmp < ../tcsh-6.15.00-longjmp.dif
|
||
+patch -p0 -s --suffix=.normcmd < ../tcsh-6.15.00-norm-cmd.dif
|
||
+patch -p0 -s --suffix=.history < ../tcsh-6.15.00-history.dif
|
||
--- Makefile.in
|
||
+++ Makefile.in 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -510,12 +510,12 @@ vgrind:
|
||
@vgrind -t -x -h Index index >/crp/bill/csh/index.t
|
||
|
||
install-strip: install
|
||
+ -strip ${DESTBIN}/tcsh$(EXEEXT)
|
||
|
||
install: tcsh$(EXEEXT)
|
||
-mkdir -p ${DESTBIN}
|
||
-mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old
|
||
cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
|
||
- -strip ${DESTBIN}/tcsh$(EXEEXT)
|
||
chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
|
||
|
||
install.man: tcsh.man
|
||
--- config_f.h
|
||
+++ config_f.h 2007-07-13 10:47:29.673240000 +0000
|
||
@@ -63,12 +63,19 @@
|
||
*/
|
||
#if defined (NLS) && defined (HAVE_CATGETS)
|
||
# define NLS_CATALOGS
|
||
+#else
|
||
+# error No NLS Catalogs
|
||
#endif
|
||
|
||
/*
|
||
* LOGINFIRST Source ~/.login before ~/.cshrc
|
||
*/
|
||
-#undef LOGINFIRST
|
||
+#define LOGINFIRST
|
||
+
|
||
+/*
|
||
+ * USERLOGINFIRST Source ~/.login before ~/.cshrc
|
||
+ */
|
||
+#undef USERLOGINFIRST
|
||
|
||
/*
|
||
* VIDEFAULT Make the VI mode editor the default
|
||
@@ -162,7 +169,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 ?
|
||
@@ -185,7 +192,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
|
||
--- 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. */
|
||
@@ -82,7 +83,7 @@ typedef struct {
|
||
#define GLOB_QUOTE 0x2000 /* XXX: source compatibility */
|
||
|
||
#define GLOB_ABEND GLOB_ABORTED /* source compatibility */
|
||
-/* #endif */
|
||
+#endif
|
||
|
||
int glob (const char *, int, int (*)(const char *, int), glob_t *);
|
||
void globfree (glob_t *);
|
||
--- host.defs
|
||
+++ host.defs 2007-07-13 12:05:57.545518678 +0000
|
||
@@ -110,7 +110,7 @@ newcode :
|
||
/*
|
||
* On convex, find the current machine type via the getsysinfo() syscall
|
||
*/
|
||
-#include <sys/sysinfo.h>
|
||
+# include <sys/sysinfo.h>
|
||
|
||
/* From: fox@convex.com (David DeSimone) */
|
||
static char *
|
||
@@ -168,6 +168,30 @@ getconvex(void)
|
||
endcode :
|
||
enddef :
|
||
|
||
+newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
||
+comment : Linus Torvalds's linux
|
||
+newcode :
|
||
+# include <sys/utsname.h>
|
||
+char * getmach(void)
|
||
+{
|
||
+ static char* mach = "unknown";
|
||
+ struct utsname uts;
|
||
+ if (uname(&uts) == 0)
|
||
+ mach = uts.machine;
|
||
+ return mach;
|
||
+}
|
||
+char * gethost(void)
|
||
+{
|
||
+ static char host[256];
|
||
+ struct utsname uts;
|
||
+ if (uname(&uts) == 0)
|
||
+ xsnprintf(host, sizeof(host), "%s-linux", uts.machine);
|
||
+ else
|
||
+ xsnprintf(host, sizeof(host), "unknown-linux");
|
||
+ return host;
|
||
+}
|
||
+endcode :
|
||
+enddef :
|
||
|
||
newcode :
|
||
void
|
||
@@ -434,26 +458,29 @@ machtype: defined(M_i386) : "i386"
|
||
enddef :
|
||
|
||
|
||
-newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
||
-comment : Linus Torvalds's linux
|
||
+vendor : defined(SuSE) : "suse"
|
||
vendor : defined(M_intel) : "intel"
|
||
hosttype: defined(__ia64__) : "ia64-linux"
|
||
hosttype: defined(__powerpc64__) : "powerpc64-linux"
|
||
hosttype: defined(__s390x__) : "s390x-linux"
|
||
hosttype: defined(__s390__) : "s390-linux"
|
||
hosttype: defined(__x86_64__) : "x86_64-linux"
|
||
-hosttype: defined(M_i586) : "i586-linux"
|
||
-hosttype: defined(M_i486) : "i486-linux"
|
||
+hosttype: defined(M_i686) : "i686-linux"
|
||
+hosttype: defined(M_i586) : "i586-linux"
|
||
+hosttype: defined(M_i486) : "i486-linux"
|
||
hosttype: defined(M_i386) : "i386-linux"
|
||
+hosttype: : gethost()
|
||
ostype : : "linux"
|
||
machtype: defined(__ia64__) : "ia64"
|
||
machtype: defined(__powerpc64__) : "powerpc64"
|
||
machtype: defined(__s390x__) : "s390x"
|
||
machtype: defined(__s390__) : "s390"
|
||
machtype: defined(__x86_64__) : "x86_64"
|
||
-machtype: defined(M_i586) : "i586"
|
||
-machtype: defined(M_i486) : "i486"
|
||
+machtype: defined(M_i686) : "i686"
|
||
+machtype: defined(M_i586) : "i586"
|
||
+machtype: defined(M_i486) : "i486"
|
||
machtype: defined(M_i386) : "i386"
|
||
+machtype: : getmach()
|
||
vendor : defined(__alpha) : "dec"
|
||
vendor : defined(PPC) : "apple"
|
||
hosttype: defined(__alpha) : "alpha"
|
||
@@ -464,6 +491,7 @@ machtype: defined(M_mipsel) : "mipsel
|
||
machtype: defined(M_mipseb) : "mipseb"
|
||
machtype: defined(M_mips64el) : "mips64el"
|
||
machtype: defined(M_mips64eb) : "mips64eb"
|
||
+machtype: : getmach()
|
||
enddef :
|
||
|
||
|
||
--- pathnames.h
|
||
+++ pathnames.h 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -33,7 +33,7 @@
|
||
#ifndef _h_pathnames
|
||
#define _h_pathnames
|
||
|
||
-#ifdef BSD4_4
|
||
+#if defined(BSD4_4) || defined(linux)
|
||
# include <paths.h>
|
||
#endif
|
||
|
||
@@ -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 2009-03-25 10:45:13.676501240 +0000
|
||
@@ -454,7 +454,8 @@ main(int argc, char **argv)
|
||
if (loginsh || (uid == 0)) {
|
||
if (*cp) {
|
||
/* only for login shells or root and we must have a tty */
|
||
- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) {
|
||
+ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) &&
|
||
+ (Strncmp(cp, STRptssl, 3) != 0)) {
|
||
cp2 = cp2 + 1;
|
||
}
|
||
else
|
||
@@ -715,7 +716,16 @@ main(int argc, char **argv)
|
||
xfree(tmp2);
|
||
}
|
||
#else /* !WINNT_NATIVE */
|
||
+#if defined(__GLIBC__) && __GLIBC__ >= 2
|
||
+ {
|
||
+ char *tmpdir = getenv ("TMPDIR");
|
||
+ if (!tmpdir)
|
||
+ tmpdir = "/tmp";
|
||
+ shtemp = Strspl(SAVE(tmpdir), SAVE("/sh.XXXXXX")); /* For << */
|
||
+ }
|
||
+#else
|
||
shtemp = Strspl(STRtmpsh, doldol); /* For << */
|
||
+#endif /* __GLIBC__ */
|
||
#endif /* WINNT_NATIVE */
|
||
|
||
/*
|
||
@@ -739,9 +749,9 @@ main(int argc, char **argv)
|
||
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||
#if defined(DSPMBYTE)
|
||
#if defined(NLS) && defined(LC_CTYPE)
|
||
- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR)) {
|
||
+ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL)) {
|
||
#else
|
||
- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR)) {
|
||
+ if ((tcp = getenv("LANG")) != NULL) {
|
||
#endif
|
||
autoset_dspmbyte(str2short(tcp));
|
||
}
|
||
@@ -1247,6 +1257,9 @@ main(int argc, char **argv)
|
||
setintr = osetintr;
|
||
parintr = oparintr;
|
||
}
|
||
+#ifndef USERLOGINFIRST
|
||
+# undef LOGINFIRST
|
||
+#endif
|
||
#ifdef LOGINFIRST
|
||
if (loginsh)
|
||
(void) srccat(varval(STRhome), STRsldotlogin);
|
||
--- sh.dol.c
|
||
+++ sh.dol.c 2007-07-13 11:51:57.812291316 +0000
|
||
@@ -30,6 +30,7 @@
|
||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
* SUCH DAMAGE.
|
||
*/
|
||
+#include <features.h>
|
||
#include "sh.h"
|
||
|
||
RCSID("$tcsh: sh.dol.c,v 3.77 2009/06/19 16:25:00 christos Exp $")
|
||
@@ -922,6 +923,31 @@ heredoc(Char *term)
|
||
Char *lbp, *obp, *mbp;
|
||
Char **vp;
|
||
int quoted;
|
||
+//#undef __GLIBC__
|
||
+#if defined(__GLIBC__) && __GLIBC__ >= 2
|
||
+ char *tmp = short2str(shtemp);
|
||
+ char *dot = strrchr(tmp, '.');
|
||
+ int fd;
|
||
+
|
||
+ if (!dot)
|
||
+ stderror(ERR_NAME | ERR_NOMATCH);
|
||
+ strcpy(dot, ".XXXXXX");
|
||
+
|
||
+ if ((fd = mkstemp(tmp)) < 0)
|
||
+ stderror(ERR_SYSTEM, tmp, strerror(errno));
|
||
+ xclose(fd);
|
||
+
|
||
+# ifndef O_TEMPORARY
|
||
+# define O_TEMPORARY 0
|
||
+# endif
|
||
+ xclose(0);
|
||
+ if (xopen(tmp, O_RDWR|O_TEMPORARY) == -1) {
|
||
+ int oerrno = errno;
|
||
+ (void) unlink(tmp);
|
||
+ errno = oerrno;
|
||
+ stderror(ERR_SYSTEM, tmp, strerror(errno));
|
||
+ }
|
||
+#else /* !__GLIBC__ */
|
||
char *tmp;
|
||
#ifndef WINNT_NATIVE
|
||
struct timeval tv;
|
||
@@ -961,6 +987,7 @@ again:
|
||
errno = oerrno;
|
||
stderror(ERR_SYSTEM, tmp, strerror(errno));
|
||
}
|
||
+#endif /* !__GLIBC__ */
|
||
(void) unlink(tmp); /* 0 0 inode! */
|
||
Dv[0] = term;
|
||
Dv[1] = NULL;
|
||
--- sh.func.c
|
||
+++ sh.func.c 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1267,14 +1267,6 @@ dosetenv(Char **v, struct command *c)
|
||
}
|
||
#endif /* apollo */
|
||
|
||
- /* dspkanji/dspmbyte autosetting */
|
||
- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||
-#if defined(DSPMBYTE)
|
||
- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) {
|
||
- autoset_dspmbyte(lp);
|
||
- }
|
||
-#endif
|
||
-
|
||
if (islocale_var(vp)) {
|
||
#ifdef NLS
|
||
int k;
|
||
@@ -1296,6 +1288,13 @@ dosetenv(Char **v, struct command *c)
|
||
nlsclose();
|
||
nlsinit();
|
||
# endif /* NLS_CATALOGS */
|
||
+# if defined(DSPMBYTE)
|
||
+ /* dspkanji/dspmbyte autosetting */
|
||
+ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||
+ if (eq(vp, STRLANG)) {
|
||
+ autoset_dspmbyte(lp);
|
||
+ }
|
||
+# endif
|
||
# ifdef SETLOCALEBUG
|
||
dont_free = 0;
|
||
# endif /* SETLOCALEBUG */
|
||
--- sh.h
|
||
+++ sh.h 2007-07-13 11:07:44.198395000 +0000
|
||
@@ -267,7 +267,7 @@ typedef int eChar;
|
||
# else
|
||
# include <termio.h>
|
||
# endif /* _UWIN */
|
||
-# if SYSVREL > 3
|
||
+# if SYSVREL > 3 || defined(linux)
|
||
# undef TIOCGLTC /* we don't need those, since POSIX has them */
|
||
# undef TIOCSLTC
|
||
# undef CSWTCH
|
||
@@ -321,6 +321,12 @@ typedef int eChar;
|
||
#if !((defined(SUNOS4) || defined(_MINIX) /* || defined(DECOSF1) */) && defined(TERMIO))
|
||
# if !defined(_VMS_POSIX) && !defined(WINNT_NATIVE)
|
||
# include <sys/ioctl.h>
|
||
+# if SYSVREL > 3 || defined(linux)
|
||
+# undef TIOCGLTC /* we don't need those, since POSIX has them */
|
||
+# undef TIOCSLTC
|
||
+# undef CSWTCH
|
||
+# define CSWTCH _POSIX_VDISABLE /* So job control works */
|
||
+# endif /* SYSVREL > 3 */
|
||
# endif
|
||
#endif
|
||
|
||
@@ -1179,9 +1185,7 @@ extern char **environ;
|
||
# ifdef NLS_CATALOGS
|
||
# if defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
||
# include <locale.h>
|
||
-# ifdef notdef
|
||
-# include <localeinfo.h> /* Has this changed ? */
|
||
-# endif
|
||
+# include <langinfo.h>
|
||
# include <features.h>
|
||
# endif
|
||
# ifdef SUNOS4
|
||
--- sh.sem.c
|
||
+++ sh.sem.c 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -622,10 +622,19 @@ execute(struct command *t, volatile int
|
||
* possible stopping
|
||
*/
|
||
if (bifunc) {
|
||
- func(t, bifunc);
|
||
- if (forked)
|
||
+ if (forked) {
|
||
+ func(t, bifunc);
|
||
exitstat();
|
||
- else {
|
||
+ } else {
|
||
+ jmp_buf_t oldexit;
|
||
+ int ohaderr = haderr;
|
||
+
|
||
+ getexit(oldexit);
|
||
+ if (setexit() == 0)
|
||
+ func(t, bifunc);
|
||
+ resexit(oldexit);
|
||
+ haderr = ohaderr;
|
||
+
|
||
if (adrof(STRprintexitvalue)) {
|
||
int rv = getn(varval(STRstatus));
|
||
if (rv != 0)
|
||
--- sh.set.c
|
||
+++ sh.set.c 2007-07-13 11:09:17.172297000 +0000
|
||
@@ -1091,11 +1091,11 @@ update_dspmbyte_vars(void)
|
||
dstr1 = vp->vec[0];
|
||
if(eq (dstr1, STRsjis))
|
||
iskcode = 1;
|
||
- else if (eq(dstr1, STReuc))
|
||
+ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312))
|
||
iskcode = 2;
|
||
else if (eq(dstr1, STRbig5))
|
||
iskcode = 3;
|
||
- else if (eq(dstr1, STRutf8))
|
||
+ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8))
|
||
iskcode = 4;
|
||
else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) {
|
||
iskcode = 0;
|
||
@@ -1179,7 +1179,7 @@ update_dspmbyte_vars(void)
|
||
_enable_mbdisp = 0;
|
||
dspmbyte_ls = 0;
|
||
}
|
||
-#ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
||
+# ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
||
{
|
||
Char mbmapstr[300];
|
||
for (lp = 0; lp < 256; lp++)
|
||
@@ -1187,7 +1187,7 @@ update_dspmbyte_vars(void)
|
||
mbmapstr[lp] = 0;
|
||
setcopy(STRmbytemap, mbmapstr, VAR_READWRITE);
|
||
}
|
||
-#endif /* MBYTEMAP */
|
||
+# endif /* MBYTEMAP */
|
||
}
|
||
|
||
/* dspkanji/dspmbyte autosetting */
|
||
@@ -1196,6 +1196,7 @@ void
|
||
autoset_dspmbyte(const Char *pcp)
|
||
{
|
||
int i;
|
||
+ struct varent *vp;
|
||
static const struct dspm_autoset_Table {
|
||
Char *n;
|
||
Char *v;
|
||
@@ -1218,13 +1219,18 @@ autoset_dspmbyte(const Char *pcp)
|
||
#if defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
||
static const struct dspm_autoset_Table dspmc[] = {
|
||
{ STRstarutfstar8, STRutf8 },
|
||
+ { STRutfx8, STRutf8 },
|
||
{ STReuc, STReuc },
|
||
+ { STReucjp, STReuc },
|
||
{ STRGB2312, STReuc },
|
||
{ STRLANGBIG5, STRbig5 },
|
||
{ NULL, NULL }
|
||
};
|
||
Char *codeset;
|
||
|
||
+ if ((vp = adrof(CHECK_MBYTEVAR)))
|
||
+ unsetv1(vp);
|
||
+
|
||
codeset = str2short(nl_langinfo(CODESET));
|
||
if (*codeset != '\0') {
|
||
for (i = 0; dspmc[i].n; i++) {
|
||
--- tc.alloc.c
|
||
+++ tc.alloc.c 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -486,7 +486,7 @@ smalloc(size_t n)
|
||
{
|
||
ptr_t ptr;
|
||
|
||
- n = n ? n : 1;
|
||
+ n = n ? n+1 : 1;
|
||
|
||
#ifdef HAVE_SBRK
|
||
if (membot == NULL)
|
||
@@ -509,7 +509,7 @@ srealloc(ptr_t p, size_t n)
|
||
{
|
||
ptr_t ptr;
|
||
|
||
- n = n ? n : 1;
|
||
+ n = n ? n+1 : 1;
|
||
|
||
#ifdef HAVE_SBRK
|
||
if (membot == NULL)
|
||
@@ -533,7 +533,7 @@ scalloc(size_t s, size_t n)
|
||
ptr_t ptr;
|
||
|
||
n *= s;
|
||
- n = n ? n : 1;
|
||
+ n = n ? n+1 : 1;
|
||
|
||
#ifdef HAVE_SBRK
|
||
if (membot == NULL)
|
||
@@ -558,8 +558,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.const.c
|
||
+++ tc.const.c 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -127,10 +127,12 @@ Char STRmmliteral[] = { '-', 'G', '\0' }
|
||
Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' };
|
||
# endif
|
||
Char STReuc[] = { 'e', 'u', 'c', '\0' };
|
||
+Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' };
|
||
Char STRsjis[] = { 's', 'j', 'i', 's', '\0' };
|
||
Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' };
|
||
Char STRutf8[] = { 'u', 't', 'f', '8', '\0' };
|
||
Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' };
|
||
+Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' };
|
||
Char STRGB2312[] = { 'g', 'b', '2', '3', '1', '2', '\0' };
|
||
# ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
||
Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' };
|
||
@@ -429,7 +431,7 @@ Char STRkilldup[] = { 'k', 'i', 'l', 'l
|
||
Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' };
|
||
Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' };
|
||
Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' };
|
||
-Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
||
+Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
||
Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' };
|
||
Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I',
|
||
'C', '\0' };
|
||
--- tc.func.c
|
||
+++ tc.func.c 2007-07-13 11:15:03.477171000 +0000
|
||
@@ -689,9 +689,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
|
||
|
||
@@ -1902,7 +1906,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
|
||
@@ -271,7 +271,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 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -260,6 +260,9 @@ watch_login(int force)
|
||
}
|
||
stlast = sta.st_mtime;
|
||
#ifdef HAVE_GETUTENT
|
||
+# 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
|
||
@@ -567,7 +567,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.color.c
|
||
+++ tw.color.c 2007-07-13 11:18:16.453713000 +0000
|
||
@@ -173,7 +173,7 @@ parseLS_COLORS(const Char *value)
|
||
size_t i, len;
|
||
const Char *v; /* pointer in value */
|
||
char *c; /* pointer in colors */
|
||
- Extension *volatile e; /* pointer in extensions */
|
||
+ static Extension *volatile e; /* pointer in extensions */
|
||
jmp_buf_t osetexit;
|
||
size_t omark;
|
||
|
||
@@ -301,12 +301,13 @@ print_color(const Char *fname, size_t le
|
||
break;
|
||
}
|
||
if (i == nvariables) {
|
||
- for (i = 0; i < nextensions; i++)
|
||
- if (len >= extensions[i].extension.len
|
||
- && strncmp(last - extensions[i].extension.len,
|
||
- extensions[i].extension.s,
|
||
- extensions[i].extension.len) == 0) {
|
||
- color = &extensions[i].color;
|
||
+ int j;
|
||
+ for (j = 0; j < nextensions; j++)
|
||
+ if (len >= extensions[j].extension.len
|
||
+ && strncmp(last - extensions[j].extension.len,
|
||
+ extensions[j].extension.s,
|
||
+ extensions[j].extension.len) == 0) {
|
||
+ color = &extensions[j].color;
|
||
break;
|
||
}
|
||
}
|
||
--- 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
|
||
|
||
--- config/linux
|
||
+++ config/linux 2007-07-13 11:22:07.326273000 +0000
|
||
@@ -70,7 +70,7 @@
|
||
*
|
||
* Note: Linux should work with any SYSVREL < 3.
|
||
*/
|
||
-#define SYSVREL 0
|
||
+#define SYSVREL 2
|
||
|
||
/*
|
||
* YPBUGS Work around Sun YP bugs that cause expansion of ~username
|
||
@@ -86,21 +86,40 @@
|
||
*/
|
||
|
||
#define __STRICT_ANSI__
|
||
-#define _BSD_SOURCE
|
||
-#define _SVID_SOURCE
|
||
-#define _POSIX_SOURCE
|
||
-#define _XOPEN_SOURCE 500
|
||
-#define _GNU_SOURCE
|
||
+#ifndef _BSD_SOURCE
|
||
+# define _BSD_SOURCE
|
||
+#endif
|
||
+#ifndef _SVID_SOURCE
|
||
+# define _SVID_SOURCE
|
||
+#endif
|
||
+#ifndef _POSIX_SOURCE
|
||
+# define _POSIX_SOURCE
|
||
+#endif
|
||
+#ifndef _XOPEN_SOURCE
|
||
+# define _XOPEN_SOURCE 500
|
||
+#endif
|
||
+#ifndef _GNU_SOURCE
|
||
+# define _GNU_SOURCE
|
||
+#endif
|
||
|
||
/*
|
||
* Large file support from <features.h>
|
||
*/
|
||
|
||
-#define _LARGEFILE_SOURCE
|
||
-#define _LARGEFILE64_SOURCE
|
||
-#define _FILE_OFFSET_BITS 64
|
||
+#ifndef _LARGEFILE_SOURCE
|
||
+# define _LARGEFILE_SOURCE
|
||
+#endif
|
||
+#ifndef _LARGEFILE64_SOURCE
|
||
+# define _LARGEFILE64_SOURCE
|
||
+#endif
|
||
+#ifndef _FILE_OFFSET_BITS
|
||
+# define _FILE_OFFSET_BITS 64
|
||
+#endif
|
||
|
||
/****************** local defines *********************/
|
||
+#if !defined(PW_SHADOW)
|
||
+# define PW_SHADOW
|
||
+#endif
|
||
#ifndef _PATH_TCSHELL
|
||
#define _PATH_TCSHELL "/bin/tcsh"
|
||
#endif
|
||
@@ -108,4 +127,17 @@
|
||
|
||
#define NLS_CATALOGS
|
||
|
||
+#if !defined(SYSMALLOC)
|
||
+# define SYSMALLOC
|
||
+#endif
|
||
+#if !defined(NISPLUS)
|
||
+# define NISPLUS
|
||
+#endif
|
||
+#if !defined(POSIX)
|
||
+# define POSIX
|
||
+#endif
|
||
+
|
||
+#define SuSE
|
||
+#define MCLoadBySet NL_CAT_LOCALE
|
||
+
|
||
#endif /* _h_config */
|
||
--- nls/C/set1
|
||
+++ nls/C/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.6 2006/03/02 18:46:45 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ANSI_X3.4-1968
|
||
$set 1
|
||
1 Syntax Error
|
||
2 %s is not allowed
|
||
--- nls/et/set1
|
||
+++ nls/et/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:45 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 S<>ntaksi viga
|
||
2 %s ei ole lubatud
|
||
--- nls/finnish/set1
|
||
+++ nls/finnish/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:46 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 Kielioppivirhe
|
||
2 %s ei ole sallittu
|
||
--- nls/french/set1
|
||
+++ nls/french/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $
|
||
$ Messages d 'erreur
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 Erreur de syntaxe
|
||
2 %s n'est pas autoris<69>
|
||
--- nls/german/set1
|
||
+++ nls/german/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.6 2006/03/02 18:46:46 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 Syntaxfehler
|
||
2 %s nicht erlaubt
|
||
--- nls/greek/set1
|
||
+++ nls/greek/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-7
|
||
$set 1
|
||
1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
2 T<> %s <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
--- nls/italian/set1
|
||
+++ nls/italian/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.2 2006/03/02 18:46:47 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 Errore di Sintassi
|
||
2 %s non <20> permesso
|
||
--- nls/ja/set1
|
||
+++ nls/ja/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.5 2006/03/02 18:46:47 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=EUC-JP
|
||
$set 1
|
||
1 ʸˡ<CAB8><CBA1><EFBFBD>ְ<EFBFBD><D6B0>äƤ<C3A4><C6A4>ޤ<EFBFBD>
|
||
2 %s <20>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
--- nls/pl/set1
|
||
+++ nls/pl/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.5 1998/06/27 12:27:55 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=ISO-8859-2
|
||
$set 1
|
||
1 B<><42>d sk<73>adni
|
||
2 %s jest niedozwolone
|
||
--- nls/russian/set1
|
||
+++ nls/russian/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:47 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=KOI8-R
|
||
$set 1
|
||
1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
2 %s <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
--- nls/spanish/set1
|
||
+++ nls/spanish/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $
|
||
$ Mensajes de Error
|
||
+$ codeset=ISO-8859-1
|
||
$set 1
|
||
1 Error de sintaxis
|
||
2 %s no est<73> permitido
|
||
--- nls/ukrainian/set1
|
||
+++ nls/ukrainian/set1 2006-04-25 12:58:31.000000000 +0000
|
||
@@ -1,5 +1,6 @@
|
||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $
|
||
$ Error messages
|
||
+$ codeset=KOI8-U
|
||
$set 1
|
||
1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
2 %s <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>
|