libc.obj:

- Added basename() and  dirname()
 - libc_test all tabs -> spaces

git-svn-id: svn://kolibrios.org@9262 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
turbocat
2021-11-12 22:45:22 +00:00
parent 1b84dbe19e
commit 9257d2c34c
7 changed files with 107 additions and 63 deletions

View File

@@ -116,6 +116,9 @@
#include "time/time.c"
#include "time/asctime.c"
#include "misc/basename.c"
#include "misc/dirname.c"
__asm__(
".include \"math/acos.s\"\n\t"
".include \"math/asin.s\"\n\t"

View File

@@ -0,0 +1,13 @@
#include <string.h>
#include <libgen.h>
char *basename(char *s)
{
size_t i;
if (!s || !*s) return ".";
i = strlen(s)-1;
for (; i&&s[i]=='/'; i--) s[i] = 0;
for (; i&&s[i-1]!='/'; i--);
return s+i;
}

View File

@@ -0,0 +1,14 @@
#include <string.h>
#include <libgen.h>
char *dirname(char *s)
{
size_t i;
if (!s || !*s) return ".";
i = strlen(s)-1;
for (; s[i]=='/'; i--) if (!i) return "/";
for (; s[i]!='/'; i--) if (!i) return ".";
for (; s[i]=='/'; i--) if (!i) return "/";
s[i+1] = 0;
return s;
}

View File

@@ -172,3 +172,6 @@ time
localtime
asctime
difftime
!____MISC____
basename
dirname