core: Move __getcwd_buf to Mes C Library.
* include/mes/mes.h (__getcwd_buf): Move to.. * lib/posix/getcwd.c (__getcwd_buf): ...here. (getcwd): Refactor. * src/posix.c (getcwd_): Do not use __getcwd_buf.
This commit is contained in:
parent
7e1e54f47b
commit
b6e5bec406
|
@ -100,7 +100,6 @@ struct timespec *gc_end_time;
|
|||
size_t gc_time;
|
||||
|
||||
char **__execl_c_argv;
|
||||
char *__getcwd_buf;
|
||||
char *__open_boot_buf;
|
||||
char *__open_boot_file_name;
|
||||
char *__setenv_buf;
|
||||
|
|
|
@ -26,13 +26,17 @@
|
|||
|
||||
// CONSTANT PATH_MAX 1024
|
||||
|
||||
char *__getcwd_buf;
|
||||
|
||||
char *
|
||||
getcwd (char *buffer, int size)
|
||||
{
|
||||
if (__getcwd_buf == 0)
|
||||
__getcwd_buf = malloc (PATH_MAX);
|
||||
char *buf = __getcwd_buf;
|
||||
if (buffer != 0)
|
||||
return _getcwd (buffer, size);
|
||||
return _getcwd (buf, PATH_MAX);
|
||||
if (buffer == 0)
|
||||
buffer = __getcwd_buf;
|
||||
if (buffer == 0)
|
||||
{
|
||||
__getcwd_buf = malloc (PATH_MAX);
|
||||
buffer = __getcwd_buf;
|
||||
}
|
||||
return _getcwd (buffer, size);
|
||||
}
|
||||
|
|
|
@ -161,7 +161,6 @@ init (char **envp)
|
|||
{
|
||||
environ = envp;
|
||||
__execl_c_argv = malloc (1024 * sizeof (char *)); /* POSIX minimum: 4096 */
|
||||
__getcwd_buf = malloc (PATH_MAX);
|
||||
__gettimeofday_time = malloc (sizeof (struct timeval));
|
||||
__get_internal_run_time_ts = malloc (sizeof (struct timespec));
|
||||
__open_boot_buf = malloc (PATH_MAX);
|
||||
|
|
|
@ -416,8 +416,7 @@ get_internal_run_time ()
|
|||
struct scm *
|
||||
getcwd_ () /*:((name . "getcwd")) */
|
||||
{
|
||||
char *buf = __getcwd_buf;
|
||||
return make_string0 (getcwd (buf, PATH_MAX));
|
||||
return make_string0 (getcwd (0, PATH_MAX));
|
||||
}
|
||||
|
||||
struct scm *
|
||||
|
|
Loading…
Reference in New Issue