Re: flags in cob_file_key

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The issue is that OPEN OUTPUT must have the ISAM file created with all of the correct attributes as defined in the COBOL code.
So the fileio.c module does not know what the file should look like until it is told by the COBOL code.
GnuCOBOL runs on many versions of Unix/Linux/Windows/MacOS and they have different feeding habits.

On Thu, Feb 21, 2019 at 2:45 PM James K. Lowden <jklowden@xxxxxxxxxxxxxxx> wrote:
On Thu, 21 Feb 2019 09:45:58 -0800
Ron Norman <rjn@xxxxxxxxxxxx> wrote:

> There are places in codegen.c which emit pointers to the cob_file and
> cob_file_key structures.
> Also some code is emited that references those booleans...
...
> codegen.c:              output ("%s%s->tf_duplicates = 0;\n",
> CB_PREFIX_KEYS, f->cname);

Thanks for the explanation, Ron.  It's an unfortunate choice to bind
the runtime so closely with the compiled code.  Long experience the C
runtime library has shown that exposing structures is perilous. 

Still, changes to libcob don't affect applications if they're linked
correctly, by SONAME.  If the next version of libcob is libcob.so.5,
then programs linked to libcob.so.4 are unaffected.  As we're
changing the ABI, that's the conventional solution. 

I realize the situation is different with Windows, but AIUI there is
some kind of versioning for DLLs nowadays, too.  In any event, fixing
the problem on the Linux side leaves the Windows folks no worse off.   

--jkl



--
Cheers
Ron Norman

[Index of Archives]     [Gcc Help]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Info]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux