tcsh-6.14.05 is available

H.Merijn Brand h.m.brand at xs4all.nl
Thu Jun 22 14:16:45 EEST 2006


On Sat, 4 Mar 2006 00:48:29 -0800, "Amol Deshpande"
<amol.vinayak.deshpande at gmail.com> wrote:

> Mostly contains changes to make the Windows version work with the last
> few changes.

I had to re-compile and install tcsh due to unrecognized lscolor options,
hence my current reaction.

> Probably  needs a fix for autoconf to detect the time_t type.

And something that disables iconv if --disable-nls

> I have only been able to compile and test it on NetBSD. There's a
> compilation warning in tw.parse.c

OK and installed (without nls and/or iconv) on

HP-UX 10.20/32 with HP C-ANSI-C +DD32
HP-UX 11.00/32 with HP C-ANSI-C +DD32
HP-UX 11.11/64 with HP C-ANSI-C +DD64
HP-UX 11.23/64 with HP C-ANSI-C +DD64

Not installed on AIX and Linux because of:
"./config_f.h", line 213.6: 1506-205 (S) #error "NLS must be defined if WIDE_STRINGS is defined"

As NLS is not an option, I'll skip this update for now

> tw.parse.c:2209: warning: initialization discards qualifiers from pointer target
>  type

Tackled in the patch below

> I don't understand the message, so I don't know how to fix it.  The
> reason I changed the types was because the Microsoft compiler didn't
> like the way it was orginally defined (different levels of constness
> in initialization).
> 
> Apologies for leaving these two issues in the release.
> 
>  ftp://ftp.astron.com/pri/tcsh-6.14.05.tar.gz

Small code cleanups after Itanium warnings

"sh.c", line 1600: warning #2550-D: variable "old_pintr_disabled" was set but
          never used
      int old_pintr_disabled = 0;
          ^
"sh.dir.c", line 585: warning #2549-D: variable "cwd" is used before its value
          is set
      USE(cwd);
      ^
cc  -c -Ae -O2 +Onolimit +Z -z +DD64  -I/usr/local/ia64/include -I/usr/include/X11R6 -I/usr/contrib/X11R6/include                -I. -I. -D_PATH_TCSHELL='"/pro/bin/tcsh"'     sh.dol.c
"sh.dol.c", line 204: warning #2550-D: variable "done" was set but never used
      int    sofar = 0, done = 0;
                        ^
cc  -c -Ae -O2 +Onolimit +Z -z +DD64  -I/usr/local/ia64/include -I/usr/include/X11R6 -I/usr/contrib/X11R6/include                -I. -I. -D_PATH_TCSHELL='"/pro/bin/tcsh"'     tw.parse.c
"tw.parse.c", line 2209: warning #2144-D: a value of type "const void *"
          cannot be used to initialize an entity of type "const Char **"
      const Char **file1 = xfile1, **file2 = xfile2;
                           ^

"tw.parse.c", line 2209: warning #2144-D: a value of type "const void *"
          cannot be used to initialize an entity of type "const Char **"
      const Char **file1 = xfile1, **file2 = xfile2;
                                             ^
cc  -c -Ae -O2 +Onolimit +Z -z +DD64  -I/usr/local/ia64/include -I/usr/include/X11R6 -I/usr/contrib/X11R6/include                -I. -I. -D_PATH_TCSHELL='"/pro/bin/tcsh"'     tc.func.c
"tc.func.c", line 1861: warning #2167-D: argument of type "socklen_t *" is
          incompatible with parameter of type "int *"
      if (getpeername(SHIN, (struct sockaddr *) &saddr, &len) != -1 &&
                                                        ^

On 10.20 I also got

cpp: "values.h", line 27: warning 2001: Redefinition of macro MAXINT.

so you might consider #undef'ing it before #define'ing

Also attached.
Give or take a few line number offsets, as I still apply my own patches

--8<---
diff -pur tcsh-6.14.05/sh.c tcsh-6.14.05p/sh.c
--- tcsh-6.14.05/sh.c   2006-03-03 23:08:45 +0100
+++ tcsh-6.14.05p/sh.c  2006-06-22 12:49:35 +0200
@@ -1597,7 +1597,6 @@ static void
 srcunit(int unit, int onlyown, int hflg, Char **av)
 {
     struct saved_state st;
-    int old_pintr_disabled = 0;

     st.SHIN = -1;      /* st_restore checks this */

@@ -1616,7 +1615,6 @@ srcunit(int unit, int onlyown, int hflg,
     /* Does nothing before st_save() because st.SHIN == -1 */
     cleanup_push(&st, st_restore);
     if (setintr) {
-       old_pintr_disabled = pintr_disabled;
        pintr_disabled++;
        cleanup_push(&pintr_disabled, disabled_cleanup);
     }
diff -pur tcsh-6.14.05/sh.dir.c tcsh-6.14.05p/sh.dir.c
--- tcsh-6.14.05/sh.dir.c       2006-03-03 23:08:45 +0100
+++ tcsh-6.14.05p/sh.dir.c      2006-06-22 12:50:26 +0200
@@ -541,7 +541,6 @@ static Char *
 dgoto(Char *cp)
 {
     Char *dp, *ret;
-    char *cwd;

     if (!ABSOLUTEP(cp))
     {
@@ -567,12 +566,13 @@ dgoto(Char *cp)
        dp = cp;

 #if defined(WINNT_NATIVE)
-    cwd = agetcwd();
-    ret = SAVE(cwd);
-    xfree(cwd);
+    {   char cwd = agetcwd();
+       ret = SAVE(cwd);
+       xfree(cwd);
+       }
 #elif defined(__CYGWIN__)
     if (ABSOLUTEP(cp) && cp[1] == ':') { /* Only DOS paths are treated that way */
-       cwd = agetcwd();
+       char *cwd = agetcwd();
        ret = SAVE(cwd);
        xfree(cwd);
     } else {
@@ -582,7 +582,6 @@ dgoto(Char *cp)
        cleanup_until(cp);
     }
 #else /* !WINNT_NATIVE */
-    USE(cwd);
     cleanup_push(cp, xfree);
     ret = dcanon(cp, dp);
     cleanup_ignore(cp);
diff -pur tcsh-6.14.05/sh.dol.c tcsh-6.14.05p/sh.dol.c
--- tcsh-6.14.05/sh.dol.c       2006-03-02 19:46:44 +0100
+++ tcsh-6.14.05p/sh.dol.c      2006-06-22 12:51:02 +0200
@@ -201,11 +201,10 @@ Dword(struct blk_buf *bb)
     eChar c, c1;
     struct Strbuf wbuf = Strbuf_INIT;
     int dolflg;
-    int    sofar = 0, done = 0;
+    int    sofar = 0;

     cleanup_push(&wbuf, Strbuf_cleanup);
     for (;;) {
-       done = 1;
        c = DgetC(DODOL);
        switch (c) {

diff -pur tcsh-6.14.05/tc.func.c tcsh-6.14.05p/tc.func.c
--- tcsh-6.14.05/tc.func.c      2006-03-03 23:08:45 +0100
+++ tcsh-6.14.05p/tc.func.c     2006-06-22 12:51:58 +0200
@@ -1851,11 +1851,12 @@ getremotehost(int dest_fd)
 #ifdef INET6
     struct sockaddr_storage saddr;
     static char hbuf[NI_MAXHOST];
+    int len = sizeof(saddr);
 #else
     struct hostent* hp;
     struct sockaddr_in saddr;
-#endif
     socklen_t len = sizeof(saddr);
+#endif

 #ifdef INET6
     if (getpeername(SHIN, (struct sockaddr *) &saddr, &len) != -1 &&
diff -pur tcsh-6.14.05/tw.parse.c tcsh-6.14.05p/tw.parse.c
--- tcsh-6.14.05/tw.parse.c     2006-03-03 23:08:45 +0100
+++ tcsh-6.14.05p/tw.parse.c    2006-06-22 12:51:30 +0200
@@ -2206,7 +2206,7 @@ StrQcmp(const Char *str1, const Char *st
 int
 fcompare(const void *xfile1, const void *xfile2)
 {
-    const Char **file1 = xfile1, **file2 = xfile2;
+    const Char **file1 = (const Char **)xfile1, **file2 = (const Char **)xfile2;

     return collate(*file1, *file2);
 } /* end fcompare */
-->8---

-- 
H.Merijn Brand        Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.9.x  on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.0, AIX 4.3 & 5.2, and Cygwin.       http://qa.perl.org
http://mirrors.develooper.com/hpux/           http://www.test-smoke.org
                       http://www.goldmark.org/jeff/stupid-disclaimers/


More information about the Tcsh mailing list