⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xgetcwd.c

📁 手机嵌入式Linux下可用的busybox源码
💻 C
字号:
/* * xgetcwd.c -- return current directory with unlimited length * Copyright (C) 1992, 1996 Free Software Foundation, Inc. * Written by David MacKenzie <djm@gnu.ai.mit.edu>. * * Special function for busybox written by Vladimir Oleynik <vodz@usa.net>*/#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <limits.h>#include <sys/param.h>#include "libbb.h"/* Amount to increase buffer size by in each try. */#define PATH_INCR 32/* Return the current directory, newly allocated, arbitrarily long.   Return NULL and set errno on error.   If argument is not NULL (previous usage allocate memory), call free()*/char *xgetcwd (char *cwd){  char *ret;  unsigned path_max;  errno = 0;  path_max = (unsigned) PATH_MAX;  path_max += 2;                /* The getcwd docs say to do this. */  if(cwd==0)	cwd = xmalloc (path_max);  errno = 0;  while ((ret = getcwd (cwd, path_max)) == NULL && errno == ERANGE) {      path_max += PATH_INCR;      cwd = xrealloc (cwd, path_max);      errno = 0;  }  if (ret == NULL) {      int save_errno = errno;      free (cwd);      errno = save_errno;      perror_msg("getcwd()");      return NULL;  }  return cwd;}

⌨️ 快捷键说明

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