[BACK]Return to getcwd.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / gen

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/gen/getcwd.c between version 1.44 and 1.51

version 1.44, 2007/06/03 17:39:26 version 1.51, 2012/03/13 21:13:35
Line 50  __RCSID("$NetBSD$");
Line 50  __RCSID("$NetBSD$");
 #include <stdlib.h>  #include <stdlib.h>
 #include <string.h>  #include <string.h>
 #include <unistd.h>  #include <unistd.h>
   #include <ssp/ssp.h>
   
 #include "extern.h"  #include "extern.h"
   
 #ifdef __weak_alias  #ifdef __weak_alias
 __weak_alias(getcwd,_getcwd)  __weak_alias(getcwd,_getcwd)
   __weak_alias(_sys_getcwd,_getcwd)
 __weak_alias(realpath,_realpath)  __weak_alias(realpath,_realpath)
 #endif  #endif
   
Line 69  char *
Line 71  char *
 realpath(const char *path, char *resolved)  realpath(const char *path, char *resolved)
 {  {
         struct stat sb;          struct stat sb;
         int idx = 0, n, nlnk = 0;          int idx = 0, nlnk = 0;
         const char *q;          const char *q;
         char *p, wbuf[2][MAXPATHLEN];          char *p, wbuf[2][MAXPATHLEN];
         size_t len;          size_t len;
           ssize_t n;
   
         _DIAGASSERT(path != NULL);  
         _DIAGASSERT(resolved != NULL);          _DIAGASSERT(resolved != NULL);
   
           /* POSIX sez we must test for this */
           if (path == NULL) {
                   errno = EINVAL;
                   return NULL;
           }
   
         /*          /*
          * Build real path one by one with paying an attention to .,           * Build real path one by one with paying an attention to .,
          * .. and symbolic link.           * .. and symbolic link.
Line 200  loop:
Line 208  loop:
         goto loop;          goto loop;
 }  }
   
   
 #ifdef _FORTIFY_SOURCE  
 #undef getcwd  
 #define getcwd _getcwd  
 #endif  
   
 char *  char *
 getcwd(char *pt, size_t size)  __ssp_real(getcwd)(char *pt, size_t size)
 {  {
         char *npt;          char *npt;
   

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.51

CVSweb <webmaster@jp.NetBSD.org>