Annotation of coherent/g/usr/lib/uucp/tay104/unix/getcwd.c, revision 1.1.1.1

1.1       root        1: /* getcwd.c
                      2:    Replacement for the getcwd function that just calls /bin/pwd.  */
                      3: 
                      4: #include "uucp.h"
                      5: 
                      6: #include "sysdep.h"
                      7: 
                      8: #include <errno.h>
                      9: 
                     10: char *
                     11: getcwd (zbuf, cbuf)
                     12:      char *zbuf;
                     13:      size_t cbuf;
                     14: {
                     15:   const char *azargs[2];
                     16:   FILE *e;
                     17:   pid_t ipid;
                     18:   int cread;
                     19:   int ierr;
                     20: 
                     21:   azargs[0] = PWD_PROGRAM;
                     22:   azargs[1] = NULL;
                     23:   e = espopen (azargs, TRUE, &ipid);
                     24:   if (e == NULL)
                     25:     return NULL;
                     26: 
                     27:   ierr = 0;
                     28: 
                     29:   cread = fread (zbuf, sizeof (char), cbuf, e);
                     30:   if (cread == 0)
                     31:     ierr = errno;
                     32: 
                     33:   (void) fclose (e);
                     34: 
                     35:   if (ixswait ((unsigned long) ipid, (const char *) NULL) != 0)
                     36:     {
                     37:       ierr = EACCES;
                     38:       cread = 0;
                     39:     }
                     40: 
                     41:   if (cread != 0)
                     42:     {
                     43:       if (zbuf[cread - 1] == '\n')
                     44:        zbuf[cread - 1] = '\0';
                     45:       else
                     46:        {
                     47:          ierr = ERANGE;
                     48:          cread = 0;
                     49:        }
                     50:     }
                     51:   
                     52:   if (cread == 0)
                     53:     {
                     54:       errno = ierr;
                     55:       return NULL;
                     56:     }
                     57: 
                     58:   return zbuf;
                     59: }

unix.superglobalmegacorp.com

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