[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/java66liu/python/master/Python/getcwd.c [Back]  [Original]

/* Two PD getcwd() implementations.
   Author: Guido van Rossum, CWI Amsterdam, Jan 1991, . */

#include 
#include 

#ifdef HAVE_GETWD

/* Version for BSD systems -- use getwd() */

#ifdef HAVE_SYS_PARAM_H
#include 
#endif

#ifndef MAXPATHLEN
#if defined(PATH_MAX) && PATH_MAX > 1024
#define MAXPATHLEN PATH_MAX
#else
#define MAXPATHLEN 1024
#endif
#endif

extern char *getwd(char *);

char *
getcwd(char *buf, int size)
{
	char localbuf[MAXPATHLEN+1];
	char *ret;
	
	if (size = (size_t)size) {
		errno = ERANGE;
		return NULL;
	}
	if (ret == NULL) {
		errno = EACCES; /* Most likely error */
		return NULL;
	}
	strncpy(buf, localbuf, size);
	return buf;
}

#else /* !HAVE_GETWD */

/* Version for really old UNIX systems -- use pipe from pwd */

#ifndef PWD_CMD
#define PWD_CMD "/bin/pwd"
#endif

char *
getcwd(char *buf, int size)
{
	FILE *fp;
	char *p;
	int sts;
	if (size 

Web Proxy Viewer  |  New URL  |  Original Page