Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!ucsd!ucbvax!ANDREW.CMU.EDU!wjh+ From: wjh+@ANDREW.CMU.EDU (Fred Hansen) Newsgroups: comp.soft-sys.andrew Subject: Re: Error building ness documentation, Andrew PL 6 Message-ID: <4an093600VsPA4Xl41@andrew.cmu.edu> Date: 17 Aug 90 14:42:11 GMT References: <14932@csli.Stanford.EDU> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 79 Excerpts from internet.info-andrew: 17-Aug-90 Error building ness documen.. Carl Witty@decwrl.dec.co (399) > .../atk/ness/doc/present.n no longer works. Given a file name > 'nessauth.d', it is supposed to create 'nessauth.doc'; instead, it > creates 'present.n nessauth.doc' (a filename with an embedded space.) This bug has been corrected, but--I am sorry to have to report--did not make its way into patch 6. Presumably it will be in patch 7. For those of you willing to risk bypassing the regular patch mechanism, the correction is to replace the ParseArgs routine in atk/ness/objects/nessruna.c with the new version below. Fred Hansen boolean nessrunapp__ParseArgs(self, argc, argv) struct nessrunapp *self; int argc; char **argv; { struct nessmark *arg, *args, *blank; if(!super_ParseArgs(self, argc, argv)) return FALSE; /* super_ParseArgs() passes across the "runapp" and its switches, leaving "nessrun" as the first arg. */ while(*++argv != NULL && **argv == '-') { switch((*argv)[1]){ case 'd': self->dump = TRUE; break; case 'f': nessrunapp_SetFork(self, TRUE); break; default: fprintf(stderr,"%s: unrecognized switch: %s\n", nessrunapp_GetName(self), *argv); show_usage(self); return FALSE; } } if (*argv == NULL) { fprintf(stderr,"%s: no programfilename specified\n", nessrunapp_GetName(self)); show_usage(self); return FALSE; } /* get the name of the ness program file */ self->inputfile = *argv++; if (*argv != NULL) { /* concatenate args to pass to theNess */ blank = nessmark_New(); nessmark_MakeConst(blank, " "); arg = nessmark_New(); args = nessmark_New(); nessmark_SetText(args, simpletext_New()); while (*argv != NULL) { nessmark_MakeConst(arg, *argv); nessmark_Next(args); nessmark_Replace(args, arg); nessmark_Next(args); nessmark_Replace(args, blank); argv++; } nessmark_Base(args); ness_SupplyMarkerArg(self->theNess, args); } return TRUE; }