libes@nbs-amrf.UUCP (Don Libes) (05/18/85)
Last week, I asked if anyone had brought up 2.10.2 news under Eunice and got no takers, so here's my comments, having brought it up. My first comment is that the 2.10.2 is far and away better than 2.10.1 and its a lot easier to bring up. 2.10.1 took me 2 weeks of hacking. This time it only took me 2 days. Thanks to whoever worked on it. (But why isn't there an undigestify in vnews???) It is apparent that people who added the VMS/Eunice defs were guessing the behavior of VMS. The reason I think this is because when I turned on the code, it didn't even compile! On the other hand, the changes, for the most part, were minor. You are good guessers (or maybe Eunice is a good emulator). Ok, now the list of bugs. In Makefile, the "ln"s must be changed to "cp"s. You should use the V7 defs, not the 4.1 as I had originally thought. I have no idea why but there is a lot of stuff turned on by the 4.1 flags, that seems like its from 4.2 or SysIII (thanks to Guy for pointing this out). You should add #define SHELL "/bin/sh" to defs.h. The csh does not exit after processing its arguments with the -c option. Is this a Eunice-csh bug? Add the declaration struct passwd *getpwnam(); to fullname.c In ifuncs.c, the idlock() has a while loop that changes to an if when VMS is def'ed. Unfortunately, there is a corresponding break that now becomes illegal. Change it to a goto to just get out of the if statement. In lock(), the following line appears: fprintf(stderr,"%s: %s\n", Progname, msg); but neither Progname nor msg are defined. Change it to: fprintf(stderr,"lock(): News system locked up\n"); A very nasty error is the construct: for (i=3;i<20;i++) close(i); which appears in a few places (inews.c, visual.c). I don't know why but this does odd things to the environment. Stick in an fstat(), so you don't close invalid file descriptors. localize() had some special Eunice code that was missing some declarations. int f1, f2; will do fine at the beginning of the for loop where they are used. In the same special code, "article" appears which should be "ARTICLE" Several lines later, write(f2,afline,r); should be write(fd,afline,e); rparams.h had BITMAPSIZE commented out. I don't know why. Uncomment it. virtterm.c had MAXPLEN defined to be 24. This controls the maximum size of the screen and should be larger for terminals like Suns which are 34. In vsave, after it is determined that we are going to simply write that article out to a file, add the following code, to produce VMS compatible files. #ifdef VMS if (isnew && !isprogram) { if (0 >= (fd = creat(fname,0777,"txt"))) { msg("Cannot open %s",fname); goto out; } ufp = fdopen(fd,"w"); /* assume this works - DEL */ } else #endif VMS if (ufp = fopen(fname, ...... Well, I hope someone gets some use out of this. Don Libes {seismo,umcp-cs}!nbs-amrf!libes