/contrib/sdk/sources/newlib/libc/Makefile |
---|
117,7 → 117,6 |
sys/close.c \ |
sys/conio.c \ |
sys/chdir.c \ |
sys/getcwd.c \ |
sys/errno.c \ |
sys/fstat.c \ |
sys/gettod.c \ |
326,8 → 325,7 |
wmemcmp.c \ |
wmemcpy.c \ |
wmemmove.c \ |
wmemset.c \ |
dirname.c |
wmemset.c |
STDIO_SRCS= \ |
517,6 → 515,10 |
telldir.c \ |
rewinddir.c |
UNIX_SRCS = basename.c \ |
dirname.c \ |
getcwd.c |
STATIC_OBJS = $(patsubst %.S, %.o, $(patsubst %.c, %.o, $(STATIC_SRCS))) |
LIBCRT_OBJS = $(patsubst %.S, %.o, $(patsubst %.c, %.o, $(LIBCRT_SRCS))) |
542,6 → 544,8 |
POSIX_OBJS = $(patsubst %.c, posix/%.o, $(POSIX_SRCS)) |
UNIX_OBJS = $(patsubst %.c, unix/%.o, $(UNIX_SRCS)) |
PRINTF_OBJS= stdio/vfprintf.o \ |
stdio/vfiprintf.o \ |
stdio/svfprintf.o \ |
574,7 → 578,8 |
$(STDIO_SRCS) \ |
$(STRING_SRCS) \ |
$(STDLIB_SRCS) \ |
$(POSIX_SRCS) |
$(POSIX_SRCS) \ |
$(UNIX_SRCS) |
LIB_OBJS+= \ |
$(CORE_OBJS) \ |
583,7 → 588,8 |
$(STDIO_OBJS) \ |
$(PRINTF_OBJS) \ |
$(MATH_OBJS) \ |
$(POSIX_OBJS) |
$(POSIX_OBJS) \ |
$(UNIX_OBJS) |
LIB_OBJS+= time/wcsftime.o |
/contrib/sdk/sources/newlib/libc/Tupfile.lua |
---|
100,7 → 100,6 |
"sys/close.c", |
"sys/conio.c", |
"sys/chdir.c", |
"sys/getcwd.c", |
"sys/errno.c", |
"sys/fstat.c", |
"sys/gettod.c", |
307,8 → 306,7 |
"wmemcmp.c", |
"wmemcpy.c", |
"wmemmove.c", |
"wmemset.c", |
"dirname.c" |
"wmemset.c" |
} |
STDIO_SRCS = { |
455,6 → 453,7 |
"wscanf.c", |
"wsetup.c" |
} |
POSIX_SRCS = { |
"opendir.c", |
"closedir.c", |
464,6 → 463,12 |
"rewinddir.c" |
} |
UNIX_SRCS = { |
"getcwd.c", |
"dirname.c", |
"basename.c" |
} |
MATH_SRCS = { |
"e_acos.c", "e_acosh.c", "e_asin.c", "e_atan2.c", "e_atanh.c", "e_cosh.c", "e_exp.c", "e_fmod.c", |
"e_hypot.c", "e_j0.c", "e_j1.c", "e_jn.c", "e_log.c", "e_log10.c", "e_pow.c", "e_rem_pio2.c", |
516,6 → 521,7 |
LIB_SRCS += prepend("string/", STRING_SRCS) |
LIB_SRCS += prepend("stdlib/", STDLIB_SRCS) |
LIB_SRCS += prepend("posix/", POSIX_SRCS) |
LIB_SRCS += prepend("unix/", UNIX_SRCS) |
LIB_SRCS += prepend("math/", MATH_SRCS) |
ALL_OBJS = {} |
/contrib/sdk/sources/newlib/libc/string/dirname.c |
---|
File deleted |
\ No newline at end of file |
/contrib/sdk/sources/newlib/libc/sys/getcwd.c |
---|
File deleted |
/contrib/sdk/sources/newlib/libc/unix/basename.c |
---|
0,0 → 1,28 |
#ifndef _NO_BASENAME |
/* Copyright 2005 Shaun Jackman |
* Permission to use, copy, modify, and distribute this software |
* is freely granted, provided that this notice is preserved. |
*/ |
#include <libgen.h> |
#include <string.h> |
char* |
_DEFUN (basename, (path), |
char *path) |
{ |
char *p; |
if( path == NULL || *path == '\0' ) |
return "."; |
p = path + strlen(path) - 1; |
while( *p == '/' ) { |
if( p == path ) |
return path; |
*p-- = '\0'; |
} |
while( p >= path && *p != '/' ) |
p--; |
return p + 1; |
} |
#endif /* !_NO_BASENAME */ |
/contrib/sdk/sources/newlib/libc/unix/dirname.c |
---|
0,0 → 1,32 |
#ifndef _NO_DIRNAME |
/* Copyright 2005 Shaun Jackman |
* Permission to use, copy, modify, and distribute this software |
* is freely granted, provided that this notice is preserved. |
*/ |
#include <libgen.h> |
#include <string.h> |
char * |
_DEFUN (dirname, (path), |
char *path) |
{ |
char *p; |
if( path == NULL || *path == '\0' ) |
return "."; |
p = path + strlen(path) - 1; |
while( *p == '/' ) { |
if( p == path ) |
return path; |
*p-- = '\0'; |
} |
while( p >= path && *p != '/' ) |
p--; |
return |
p < path ? "." : |
p == path ? "/" : |
(*p = '\0', path); |
} |
#endif /* !_NO_DIRNAME */ |
/contrib/sdk/sources/newlib/libc/unix/getcwd.c |
---|
0,0 → 1,53 |
#ifndef _NO_GETCWD |
/* |
* Copyright (C) KolibriOS team 2024. All rights reserved. |
* Distributed under terms of the GNU General Public License |
*/ |
#include <stdlib.h> |
#include <limits.h> |
#include <sys/errno.h> |
#include <sys/unistd.h> |
#include <sys/ksys.h> |
#ifndef _REENT_ONLY |
char * |
_DEFUN (getcwd, (buf, size), |
char *buf _AND |
size_t size) |
{ |
if (buf != NULL && size == 0) |
{ |
errno = EINVAL; |
return NULL; |
} |
if (buf == NULL) |
{ |
if (size == 0) |
size = PATH_MAX; |
buf = malloc(size); |
if (buf == NULL) |
{ |
errno = ENOMEM; |
return NULL; |
} |
} |
_ksys_getcwd(buf, size); |
if (access(buf, R_OK) == -1) |
{ |
errno = EACCES; |
return NULL; |
} |
return buf; |
} |
#endif /* _REENT_ONLY */ |
#endif /* !_NO_GETCWD */ |