getcwd.c

来自「早期freebsd实现」· C语言 代码 · 共 39 行

C
39
字号
/* Partial emulation of getcwd in terms of getwd. */#include <sys/param.h>#include <string.h>#include <errno.h>#ifndef errnoextern int errno;#endifchar *getwd();char *getcwd(buf, size)     char *buf;     int size;			/* POSIX says this should be size_t */{  if (size <= 0) {    errno = EINVAL;    return 0;  }  else {    char mybuf[MAXPATHLEN];    int saved_errno = errno;    errno = 0;    if (!getwd(mybuf)) {      if (errno == 0)	;       /* what to do? */      return 0;    }    errno = saved_errno;    if (strlen(mybuf) + 1 > size) {      errno = ERANGE;      return 0;    }    strcpy(buf, mybuf);    return buf;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?