Bugs in faces 1.6.1

Paul D. Smith (pds@lemming.webo.dg.com)
Wed, 15 Apr 1992 14:27:31 -0400

I grabbed faces 1.6.1 from indiana.edu yesterday (I previously had 1.4
something) and built it; I had these problems (I can't believe someone
hasn't already reported them but I wasn't on the mailing list until
yesterday, and the mailing list archives only go up to 10-91... so
ignore me if you already know about these :-):

1) main.c:793: this assignment causes core dumps in those machines
which put constant strings into read-only memory (like mine :-),
because s is set to point to ".", then later on *s is set to '.'
which causes a core.

2) main.c:809: the auto variable "temp" is declared to be an array of
pointer to char instead of an array of char.

3) filters/rs2icon.c:24: #ifdef SYSV32 || hpux is invalid
preprocessor syntax; I changed it to #if SYSV32 || hpux.

4) Makefile.dist:284: Added CCOMP to the list of options passed down
to lower-level makes so they build with the same
optimization/debugging as faces.

The patches below fix these bugs; after that and some Makefile
tweaking everything works on DG AViiON hosts running DG/UX (versions
4.32, 5.4, 5.4.1, and up).

paul
-----
------------------------------------------------------------------
| Paul D. Smith | paul_smith@dg.com |
| Data General Corp. | pds@lemming.webo.dg.com |
| Network Systems Development Division | |
| Open Network Systems Development | "Pretty Damn S..." |
------------------------------------------------------------------
-------------------------------------------------------------------------------
*** main.c-dist Mon Nov 18 23:00:47 1991
--- main.c Tue Apr 14 19:07:51 1992
***************
*** 778,783 ****
--- 778,784 ----
searchfacedb(b, facepath, community, user)
char *b, *facepath[MAXPATHS+1], *community, *user ;
{
+ char tmp[2] = ".";
char *s, *t ;
int i, id ;

***************
*** 790,796 ****
{
STRCAT(strcat(t, "/"), community) ;
community = "" ;
! s = "." ;
}
else
{
--- 791,797 ----
{
STRCAT(strcat(t, "/"), community) ;
community = "" ;
! s = tmp ;
}
else
{
***************
*** 806,812 ****
STRCAT(strcat(t, "/"), user) ;
for (id = 0; !i && facepath[id] != NULL; id++)
{
! char *temp[MAXPATHLEN] ;

STRCAT(strcpy(temp, facepath[id]), b) ;
IF_DEBUG( FPRINTF(stderr, "\ttrying %s\n", temp) ; )
--- 807,813 ----
STRCAT(strcat(t, "/"), user) ;
for (id = 0; !i && facepath[id] != NULL; id++)
{
! char temp[MAXPATHLEN] ;

STRCAT(strcpy(temp, facepath[id]), b) ;
IF_DEBUG( FPRINTF(stderr, "\ttrying %s\n", temp) ; )
*** filters/rs2icon.c-dist Sun Apr 14 23:40:03 1991
--- filters/rs2icon.c Tue Apr 14 18:01:42 1992
***************
*** 21,27 ****
*/

#include <stdio.h>
! #ifdef SYSV32 || hpux
#include <string.h>
#else
#include <strings.h>
--- 21,27 ----
*/

#include <stdio.h>
! #if SYSV32 || hpux
#include <string.h>
#else
#include <strings.h>
*** Makefile.dist-dist Sun Nov 24 18:55:28 1991
--- Makefile.dist Wed Apr 15 14:22:53 1992
***************
*** 281,287 ****
# Options for submakes
#
MAKEOPTS = $(MFLAGS) BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) \
! MANDIR=$(MANDIR) CC=$(CC) \
NOINDEX=$(NOINDEX) SYSV=$(SYSV)

#
--- 281,287 ----
# Options for submakes
#
MAKEOPTS = $(MFLAGS) BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) \
! MANDIR=$(MANDIR) CC=$(CC) CCOMP="$(CCOMP)" \
NOINDEX=$(NOINDEX) SYSV=$(SYSV)

#