Annotation of researchv10dc/libI77/d/open.c, revision 1.1

1.1     ! root        1: 6d5
        !             2: < #include "fcntl.h"
        !             3: 8,11d6
        !             4: < #ifndef O_WRONLY
        !             5: < #define O_RDONLY 0
        !             6: < #define O_WRONLY 1
        !             7: < #endif
        !             8: 15d9
        !             9: < extern FILE *fdopen();
        !            10: 28c22
        !            11: < char *f__w_mode[2] = {"w", "w"};
        !            12: ---
        !            13: > char *f__w_mode[4] = {"w", "w", "r+w", "r+w"};
        !            14: 31c25
        !            15: < char *f__w_mode[2] = {"wb", "w"};
        !            16: ---
        !            17: > char *f__w_mode[4] = {"wb", "w", "r+b", "r+"};
        !            18: 40c34
        !            19: < #ifdef MSDOS
        !            20: ---
        !            21: > #ifdef NON_UNIX_STDIO
        !            22: 79c73,74
        !            23: <      char buf[256];
        !            24: ---
        !            25: >      integer rv;
        !            26: >      char buf[256], *s;
        !            27: 81c76,78
        !            28: < #ifndef MSDOS
        !            29: ---
        !            30: > #ifdef NON_UNIX_STDIO
        !            31: >      FILE *tf;
        !            32: > #else
        !            33: 94c91
        !            34: < #ifdef MSDOS
        !            35: ---
        !            36: > #ifdef NON_UNIX_STDIO
        !            37: 107c104,105
        !            38: <              if((n=f_clos(&x))!=0) return(n);
        !            39: ---
        !            40: >              if ((rv = f_clos(&x)) != 0)
        !            41: >                      return rv;
        !            42: 109c107
        !            43: <      b->url=a->orl;
        !            44: ---
        !            45: >      b->url = (int)a->orl;
        !            46: 133c131
        !            47: < #ifdef MSDOS
        !            48: ---
        !            49: > #ifdef NON_UNIX_STDIO
        !            50: 149,150c147
        !            51: <              (void) close(creat(buf, 0666));
        !            52: <              break;
        !            53: ---
        !            54: >              goto replace;
        !            55: 153c150
        !            56: < #ifdef MSDOS
        !            57: ---
        !            58: > #ifdef NON_UNIX_STDIO
        !            59: 161a159,163
        !            60: >  replace:
        !            61: > #ifdef NON_UNIX_STDIO
        !            62: >              if (tf = fopen(buf,f__w_mode[0]))
        !            63: >                      fclose(tf);
        !            64: > #else
        !            65: 163c165
        !            66: <              break;
        !            67: ---
        !            68: > #endif
        !            69: 176,177c178,180
        !            70: <              if((b->ufd = fopen(buf, f__r_mode[b->ufmt])) == NULL) {
        !            71: <                      if ((n = open(buf,O_WRONLY)) >= 0) {
        !            72: ---
        !            73: >              if(!(b->ufd = fopen(buf, f__r_mode[b->ufmt]))) {
        !            74: > #ifdef NON_UNIX_STDIO
        !            75: >                      if (b->ufd = fopen(buf, f__w_mode[b->ufmt+2]))
        !            76: 179c182,187
        !            77: <                              }
        !            78: ---
        !            79: >                      else if (b->ufd = fopen(buf, f__w_mode[b->ufmt]))
        !            80: >                              b->uwrt = 1;
        !            81: >                      else
        !            82: > #else
        !            83: >                      if ((n = open(buf,O_WRONLY)) >= 0)
        !            84: >                              b->uwrt = 2;
        !            85: 185a194
        !            86: > #endif
        !            87: 190c199
        !            88: < #ifndef MSDOS
        !            89: ---
        !            90: > #ifndef NON_UNIX_STDIO
        !            91: 194c203,208
        !            92: <      if(a->orl && b->useek) rewind(b->ufd);
        !            93: ---
        !            94: >      if(b->useek)
        !            95: >              if (a->orl)
        !            96: >                      rewind(b->ufd);
        !            97: >              else if ((s = a->oacc) && (*s == 'a' || *s == 'A')
        !            98: >                      && fseek(b->ufd, 0L, SEEK_END))
        !            99: >                              err(a->oerr,129,"open");

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.