📄 pathalloc.c
字号:
#include <errno.h>#include <limits.h>#include "ourhdr.h"#ifdef PATH_MAXstatic int pathmax = PATH_MAX;#elsestatic int pathmax = 0;#endif#define PATH_MAX_GUESS 1024 /* if PATH_MAX is indeterminate */ /* we're not guaranteed this is adequate */char *path_alloc(int *size) /* also return allocated size, if nonnull */{ char *ptr; if (pathmax == 0) { /* first time through */ errno = 0; if ( (pathmax = pathconf("/", _PC_PATH_MAX)) < 0) { if (errno == 0) pathmax = PATH_MAX_GUESS; /* it's indeterminate */ else err_sys("pathconf error for _PC_PATH_MAX"); } else pathmax++; /* add one since it's relative to root */ } if ( (ptr = malloc(pathmax + 1)) == NULL) err_sys("malloc error for pathname"); if (size != NULL) *size = pathmax + 1; return(ptr);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -