From: Geoffrey C. S. <ge...@se...> - 2000-08-30 04:31:06
|
On Wed, 30 Aug 2000, Mike Nordell wrote: > I did however leave a few, since there are obvious logic or programming > errors that have to be taken care of. Perhaps it's only that it assumes > sizeof(void*) == sizeof(int), in case it could hopefulle be quite easy to This very same assumption was made in the jrd/gds.c:gds__tmp_file2() and related functions. Sometimes it returns an int (file descriptor), sometimes a FILE*. The function is declared as returning void*. Now that I take another look in that neighborhood, I see something that I hadn't noticed before, starting on line 90023: file = (expanded_string) ? ib_fopen (file_name, "w V Ds2 E32 S256000") : ib_fopen (file_name, "w V Ds2 E32 S256000 Te"); if (!file) return (void*) -1; } else { file = (expanded_string) ? open (file_name, O_RDWR | O_CREAT | O_TRUNC | O_MPEOPTS, 0600, "b Ds2 E32 S256000") : open (file_name, O_RDWR | O_CREAT | O_TRUNC | O_MPEOPTS, 0600, "b Ds2 E32 S256000 Te"); Am I the only one befuddled by the " V Ds2 E32 S256000 Te"? I look around the sources now and find all sorts of interesting-looking macros, like: #define FOPEN_APPEND_TYPE "a Ds2 V E32 S256000 L M2 X3" Am I missing some historic significance here? Is that supposed to mean something to some other version of fopen() than the one I have? Geoff -- Geoffrey C. Speicher Tel: (570)803-0535 x1701 ge...@se... Fax: (570)803-0536 Software Engineering Associates, Inc. http://www.sea-incorporated.com/ |