Fri Jan 7 13:50:53 1994 John Salmon (johns@haggis) * Terminate this ChangeLog. Future changes to be logged in the parent directory. Wed Dec 29 08:57:39 1993 John Salmon (johns@sampson) * fseekrd.c (fseekrd): #include protos.h and error.h Mon Dec 27 18:05:36 1993 John Salmon (johns@lux) * fseekrd.c: Bail out with Error in the event of an error. Sun Oct 10 21:02:27 1993 John Salmon (johns@sockeye) * SDFget.c: Added protos.h. Silenced a warning. Tue Jul 13 11:19:20 1993 John Salmon (johns@lux) * libSDF/: changed some formats to silence complaints about incorrect argument passing to printf. These SHOULD all be changed to singlWarning. Thu Jun 10 15:34:01 1993 John Salmon (johns@haggis) * SDF.h, SDFget.c: Added the functions SDFgetint, SDFgetdouble SDFgetfloat and SDFgetstring to the library. In addition, added the macros SDFget*OrDie and SDFget*OrDefault to SDF.h. The macros use Error and singlWarning, which can be found in the swutils library, or which the user may redefine to taste. Thu Jun 3 16:32:18 1993 John Salmon (johns at haggis) * Revert back to the i860_utils style of managing the PGI, IPSC_XDEV, etc. environment variables. "The management apologizes for the inconvenience." The reason is that i860_target doesn't interact well with Make running inside emacs. Tue Jun 1 20:51:16 1993 John Salmon (johns@sockeye) * (../SDF): Changed Make.common so it creates libraries in, e.g., sun4/libSDF.a. Make the old-style SDF_sun4.a a symbolic link to the new file. Use of /libSDF.a is encouraged. Tue Jun 1 20:47:04 1993 John Salmon (johns at haggis) * Added (this) ChangeLog to the list of docs copied into .tar files! Wed May 26 20:02:14 1993 John Salmon (johns at sampson) * Removed the -delta flags from Make.delta. Use the i860_target technology instead. * Fixed two bugs related to ascii data. On line 399 of SDF-parse.y and line 646 of SDFfuncs.c. Recompiled sun4 and delta versions. It should now correctly handle ascii data. Tue Mar 2 20:26:09 1993 John Salmon (johns at sampson) * Conditionalized the #define YYDEBUG 1 so it won't get linked on the delta. It surely can't do us any good! * Added a comment (but no code) to SDF-parse.y that worries about what to do when a string constant is too long to fit in a char array. * Changed SDFtst.c so it prints the first element of every vector in the file it reads. Just another diagnostic that might show up an error... Wed Feb 10 20:12:15 1993 John Salmon (johns at sampson) * Don't close stdin in SDFissdf! Wed Dec 9 11:36:53 1992 John Salmon (johns at haggis) * Changed the #ifdef SEEK_SET conditionals in SDF.h. Now the 'preferred' usage is SDF_SEEK_SET, etc., but they are almost guaranteed to be the same as SEEK_SET from stdio.h. If they aren't, complete and untraceable confusion will surely result. Changed SEEK_SET, etc. in SDFfuncs.c to SDF_SEEK_SET, etc. Wed Dec 2 17:55:08 1992 John Salmon (johns at pollux) * Added ncube2 support. This means setting up a Make.ncube2, and getting alloca.c (unmodified) from the emacs distribution, and saying 'extrasrc:=alloca.c' in Make.ncube2. Also added a call to alloca(0) to SDFopen just after yyparse, which should clean up any mess left behind by the C alloca. Fri Nov 13 18:42:33 1992 John Salmon (johns at sampson) * Reset yylineno in SDFyyprepare(). Otherwise error message line numbers accumulate! Tue Nov 10 20:21:11 1992 John Salmon (johns at haggis) * Changed the typedef for SDF in SDF.h. It still doesn't tell you what's really going on in an SDF hdr, but at least prototypes get checked for correctness, and printing an SDF* under gdb might even tell you most of what you care to know. Tue Oct 27 12:24:50 1992 John Salmon (johns at haggis) * Fixed a bug in SDF-lex.l that didn't recognize signed integer constants. How did this last for so long?! The {Sign} specifier was simply missing from the regex. Fri Oct 16 11:10:13 1992 John Salmon (johns at haggis) * Added halocenterx, halocentery and halocenterz to the generic tree.sdfh and tree_ap.sdfh files. These are used by the isothermal halo integrator (i.e., Carl). Thu Oct 15 21:34:20 1992 John Salmon (johns at haggis) * Try to be even more defensive in SDFclose, in order to not get SEGV when bailing out of a parse error. This is not a finished project! Careful cleanup should be attempted in yyerror(). Fri Oct 9 08:34:50 1992 John Salmon (johns at delilah) * SDF now only uses SEEK_CUR to reposition itself in the file. fseekrd() will work with SEEK_CUR and any positive offset by freading into a junk buffer, regardless of whether the file is seekable. Thus, operations on unseekable files need not be sequential. They must still be "monotonic increasing". Thu Oct 8 10:06:49 1992 John Salmon (johns at delilah) * Added support for reading from unseekable files. This means keeping track of the "seek pointer" ourselves, and checking whether seeking is really necessary to accomodate requests. If the caller doesn't require us to seek, then we don't. If he does, then we fail. * Added SDFsetbufsz/SDFgetbufsz, which induce SDF to malloc a buffer and call setvbuf in all subsequent SDFopen's. Use for tuning access to tape devices and pipes. Wed Sep 16 11:12:40 1992 John Salmon (johns at haggis) * Added the keyword "long" to the set of possible types. It behaves EXACTLY the same as "int". There is no corresponding SDF_LONG. Is this really a good idea (the same was done for unsigned). * Fixed a bug in SDF-parse.y which caused miscounting the lengths of implicit arrays, e.g., char greeting[] = "hello"; * Added Const to many of the arguments in SDF.h. Tue Sep 15 17:10:48 1992 John Salmon (johns at haggis) * Eliminated the huge redundancy in SDFrdvecsarr, and made it call SDFseekrdvecsarr. This not only shortens the code, but it probably means more reasonable behavior on return from errors. Ever wonder what would happen if you do an SDFrdvecsarr and the last "name" you give it doesn't exist? Well it's much better now. Wed Sep 2 15:12:06 1992 John Salmon (johns at haggis) * Changed the strategy for grabbing temporary space in SDFrdvecsarr and SDFseekrdvecsarr. Now if malloc fails, we try successively smaller requests until we get something. We only give up with an error if we can't get enough for a single "record" (i.e., struct). The memory is freed at the end of the execution of SDF*rdvecsarr. * In the interests of reducing namespace pollution, changed the enum names in SDF_type_enum to be SDF_INT, SDF_FLOAT, etc. This will break some old codes. Old codes can be made to compile by adding a #define OLD_ENUM_NAMES before #include "SDF.h". * Changed the external name of swapn to SDFswapn. This should not effect anything. Tue Sep 1 10:13:05 1992 John Salmon (johns at haggis) * Added an if( hdr==NULL ) test to each of the exported SDF functions. This should cut down on memory faults from users who don't check the return from SDFopen. It might even be worthwhile to put a magic number in the SDF hdr. Mon Aug 31 17:43:25 1992 John Salmon (johns at haggis) * Fixed a typo in SDF-lex.l and recompiled delta and sun4. * Checked the return of realloc against NULL in the middle of SDFrdvecsarr and SDFseekrdvecsarr. The program now fails with a message rather than getting a Segv. It is probably not recoverable. We really should reduce the size of some of these buffers by staging them. Tue Jun 30 02:39:30 1992 John Salmon (johns at haggis) * Removed some spurious newlines from the ends of the .sdfh files. These make trouble if you try to do "cat tree.sdfh foo.tree > foo.sdf" * INCOMPATIBLE CHANGE: changed the calling convention for SDFopen. Now we pass in two char strings, both filenames, one for the header and one for the data. This has a number of beneficial effects: 1) It means we don't have to 'agree' on what kind of FILE is in use with the 'user'. (e.g., CUBIX, NX, SRV, etc.) All the nasty business gets handled inside SDF in the Makefile and such. 2) It's easier for a 'user' to specify a header that comes from a file. The user doesn't have to stat the file, malloc space, read it in and then call SDFopen with the contents as an arg. 3) SDF is reasonably careful about checking out whether fopen returns NULL. This means less obscure failure when a bad name is provided. If the hdrname is NULL, or if it is empty or if it strcmp's equal to the datafname, then the data file is treated as an SDF file with a header attached. * Made a similar change to SDFissdf, so that one calls it with a name rather than a FILE *. "-" is stdin. Tue Jun 9 17:30:13 1992 John Salmon (johns at delilah) * Created SDF_sun4.a SDF_risc6000.a and SDF_delta.a. * Added some new functions to SDF.h and SDFfuncs.c: SDFissdf, SDFbyteorder, SDFswap, SDFnoswap, SDFisswapping. These make it simpler to use generic header files for things like pjq, tree, etc. files. The nbio_ routines are no longer the preferred way to read old-style files. It might be worth writing a function that reads an alternative header directly from disk, rather than from a string. It really is a shame that there is no portable way to treat a string as a FILE *. Sat Apr 4 09:34:16 1992 John Salmon (johns at haggis) * Created SDF_risc6000.a. * Changed the declaration of do_value_param so it DOES NOT say Static int do_value_param(...., const_t const); This caused the AIX compiler to fail in a very obscure way! Thu Mar 26 05:20:04 1992 John Salmon (johns at kastor) * Some minor surgery on SDF-parse.y to deal with zero-length blocks at the end of the data file. We now try to fstat the file to figure out how many records will fit in the file. This should make writing generic tree-file readers easier, because "npart" is implicit. Tue Mar 24 09:32:01 1992 John Salmon (johns at haggis) * "Released" v1.2.0. * Changed the Makefile, SDFfuncs.c and SDF-parse.y so the bison-generated externals now start with SDFyy, i.e., SDFyyparse, SDFyyerror, etc. This makes it easier to merge SDF with programs like sm. Thu Mar 19 05:05:12 1992 John Salmon (johns at haggis) * Removed #pragma once from the rest of the .h files * Changed malloc to calloc in SDFopen. Fri Mar 13 08:24:32 1992 John Salmon (johns at haggis) * Rebuilt SDF_delta.a and SDF_sun4.a * Removed #pragma once from all the .h files. * Added dependency for SDF-lex.c and SDF-parse.o to Makefile so changes to SDF-lex.l are understood by make. * Added the 'unsigned' keyword to SDF-lex.l. It's a total no-op. It may make it somewhat easier (and dangerous?) to convert C structs into SDF headers. * Changed the definition of the end-of-header symbol. Now it's any comment line containing the string SDF-EOH. The newline is the last character in the header. It is highly recommended that users add their own form-feeds to this line, but it is now at the user's discretion. Thu Mar 12 22:23:37 1992 Mike Warren (msw at sampson) * (nbio_open) Added a break to the case NBIO_SDF_TYPE: Sun Feb 9 13:26:20 1992 John Salmon (johns at haggis) * Added some more error reporting to nbio. On most errors, something is now written into nbio_errstring. If the error is detected by SDF, then we (usually) copy SDFerrstring too. * Added the SDFhasname() and nbio_hasname() functions to test for the existence of a name in a file. Fri Feb 7 18:32:04 1992 John Salmon (johns at haggis) * Added missing ';' in the "parameter byteorder=blaa; " strings in nbio.c * Added the char nbio_errstring[] array for messages. * Added the char *nbio_type_names[] array. * Added the "seekrd" functions to SDF and nbio, which use the fseekrd(...) "primitive". Hopefully, this will be supported by servix on all future parallel machines. * Fiddled around with the header files. There's now only one copy of the prototypes in the "public" files, nbio.h and SDF.h.