From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from tomts2-srv.bellnexxia.net ([209.226.175.140]) by hawkwind.utcs.toronto.edu with SMTP id <25795>; Thu, 27 Apr 2000 12:27:53 -0400 Received: from localhost ([216.209.181.110]) by tomts2-srv.bellnexxia.net (InterMail vM.4.01.02.17 201-229-119) with SMTP id <20000427030219.QDET1435.tomts2-srv.bellnexxia.net@localhost> for ; Wed, 26 Apr 2000 23:02:19 -0400 Received: from standard input (invoked by user sam) by localhost (0.45) for rc@hawkwind.utcs.utoronto.ca. Status: queued as E2139318; Wed, 26 Apr 2000 15:02:31 est Date: Wed, 26 Apr 2000 11:02:31 -0400 From: Sam Roberts To: rc Subject: building rc on QNX4 Message-Id: <20000426110230.A12715@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.1.11i rc looks really good to me, so I built it over the weekend, and I'm starting to use it. I think I've seen a few problems, but I'll play some more and see what I can turn up, in the meantime, here's what I had to do to get it to build: - it has setpgid(), but not setpgrp(); - it also has a utoa in , but not with the same args; - and it's va_list isn't an lvalue. So, are these patches accpetable? QNX's default bastardized ksh is ok for interactive use, but not great for programming, and I don't think I have to bash bash on the rc mailing list... (sorry, I couldn't resist ;-) Also, there's a few things I've always figured should be easy, like piping fds other than stdout->stdin, that are under rc. Oh, and QNX also lacks a groff tex formatting system... do you think you could distribute a pre-processed rc.1 as rc.man, so it could be read by less? And how about postscript as well (groff -man rc.1>rc.ps)? I found a Linux box to format rc.1 on, but... Anyhow, I'm sure I'll have more questions as I play. So far so good, and thanks a bunch! Sam diff -ur rc-1.6b2-orig/config.h.in rc-1.6b2/config.h.in --- rc-1.6b2-orig/config.h.in Wed Oct 13 07:55:03 1999 +++ rc-1.6b2/config.h.in Tue Apr 25 09:31:27 2000 @@ -107,6 +107,9 @@ /* Define if you have the mkfifo function. */ #undef HAVE_MKFIFO +/* Define if you have the setpgid function. */ +#undef HAVE_SETPGID + /* Define if you have the setpgrp function. */ #undef HAVE_SETPGRP diff -ur rc-1.6b2-orig/configure.in rc-1.6b2/configure.in --- rc-1.6b2-orig/configure.in Fri Dec 10 06:25:53 1999 +++ rc-1.6b2/configure.in Tue Apr 25 09:31:20 2000 @@ -38,7 +38,7 @@ AC_TYPE_UID_T AC_CHECK_TYPE(ssize_t, long) -AC_CHECK_FUNCS(getgroups setpgrp setrlimit strerror) +AC_CHECK_FUNCS(getgroups setpgrp setpgid setrlimit strerror) RC_FUNC_GETGROUPS RC_FUNC_SIGSETJMP diff -ur rc-1.6b2-orig/print.c rc-1.6b2/print.c --- rc-1.6b2-orig/print.c Thu Aug 19 05:22:03 1999 +++ rc-1.6b2/print.c Tue Apr 25 09:36:17 2000 @@ -70,9 +70,9 @@ return FALSE; } -static char *utoa(unsigned long u, char *t, unsigned int radix, const char *digit) { +static char *utostr(unsigned long u, char *t, unsigned int radix, const char *digit) { if (u >= radix) { - t = utoa(u / radix, t, radix, digit); + t = utostr(u / radix, t, radix, digit); u %= radix; } *t++ = digit[u]; @@ -120,7 +120,7 @@ while (*altform != '\0') prefix[pre++] = *altform++; - len = utoa(u, number, radix, table[upper]) - number; + len = utostr(u, number, radix, table[upper]) - number; if ((flags & FMT_f2set) && (size_t) format->f2 > len) zeroes = format->f2 - len; else diff -ur rc-1.6b2-orig/proto.h rc-1.6b2/proto.h --- rc-1.6b2-orig/proto.h Wed Oct 13 10:57:22 1999 +++ rc-1.6b2/proto.h Tue Apr 25 09:37:34 2000 @@ -27,7 +27,11 @@ objects of type va_list. Of course, most places don't have this yet, but where it does exist we need to use it. */ #ifndef __va_copy +#ifndef __QNX__ #define __va_copy(x,y) (x)=(y) +#else +#define __va_copy(x,y) x[0]=y[0] +#endif /* __QNX__ */ #endif #if STDC_HEADERS @@ -84,9 +88,11 @@ #else /* HAVE_SETPGRP */ +#ifndef HAVE_SETPGID /* Nothing doing. */ #define setpgid() #define tcsetpgrp() +#endif /* HAVE_SETPGID */ #endif /*HAVE_SETPGRP */ -- Sam Roberts, sroberts at uniserve dot com, www.emyr.net/Sam