ORCALib
Go to file
Stephen Heumann 3eb8a9cb55 Fix bug where ftell would inappropriately change the file mark.
ftell would set the mark as if the buffer and putback were being discarded, but not actually discard them. This resulted in characters being reread once the end of the buffer was reached.

Here is an example that illustrates the problem:

#include <stdio.h>
#include <string.h>
char buf[100];
int main(void) {
        FILE *f = fopen("somefile","r"); // a file with some text
        if (!f) return 0;
        setvbuf(f, 0L, _IOFBF, 14); // to see problem sooner
        fgets(buf, 10, f);
        printf("first read : %s\n", buf);
        ftell(f);
        memset(buf, 0, sizeof(buf));
        fgets(buf, 10, f);
        printf("second read: %s\n", buf);]
}
2022-07-02 22:05:40 -05:00
obj
assert.asm
assert.macros
backup
cc.asm
cc.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
ctype.asm Standardize indentation using spaces. 2022-06-25 18:27:20 -05:00
equates.asm Restore changes to allow ungetc of byte values 0x80 through 0xFF. 2022-06-27 17:58:23 -05:00
fcntl.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
fcntl.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
fenv.asm
fenv.macros
fpextra.asm Standardize indentation using spaces. 2022-06-25 18:27:20 -05:00
fpextra.macros Fix rounding issues introduced by SANE bug workarounds. 2021-11-30 20:19:57 -06:00
int64.asm Work around bug in FX2C and FX2L. 2021-11-28 14:18:27 -06:00
int64.macros
LICENSE
locale.asm
locale.macros
m16.int64
make Add implementation of the <uchar.h> functions. 2021-10-03 16:02:30 -05:00
math2.asm Implement asinh(). 2021-12-24 15:56:36 -06:00
math2.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
orca.asm
orca.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
README.md
setjmp.asm
signal.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
signal.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
smac
stdio.asm Fix bug where ftell would inappropriately change the file mark. 2022-07-02 22:05:40 -05:00
stdio.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
stdlib.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
stdlib.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
string.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
string.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
time.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
time.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
toolglue.asm Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
toolglue.macros Use newer, more efficient ph2/ph4 macros throughout ORCALib. 2022-06-30 19:01:47 -05:00
uchar.asm Add implementation of the <uchar.h> functions. 2021-10-03 16:02:30 -05:00
uchar.macros Add implementation of the <uchar.h> functions. 2021-10-03 16:02:30 -05:00
vars.asm Restore changes to allow ungetc of byte values 0x80 through 0xFF. 2022-06-27 17:58:23 -05:00
vars.macros

ORCALib

Libraries for the ORCA language suite (ORCA/C, ORCA/M, ORCA/Pascal) for the Apple IIGS

If you would like to make changes to this compiler and distribute them to others, feel free to submit them here. If the changes apply to the Apple IIGS, they will generally be approved for distribution on the master branch. For changes that retarget the library to generate code for a different platform, the project will either be forked or a new repository will be created, as appropriate.

The general conditions that must be met before a change is released on master are:

  1. The modified library must compile under the currently released version of ORCA/M.

  2. The various languages that make use of the library mush still pass their respective test suites, or changes to those test suites must also be submitted.

Contact support@byteworks.us if you need contributor access.

A complete distribution of the ORCA languages, including installers and documentation, is available from the Juiced GS store at https://juiced.gs/store/category/software/. It is distributed as part of the Opus ][ package.