Annotation of researchv10dc/libI77/d/open.c, revision 1.1.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.