LibC: Implement getprogname and setprogname

This commit is contained in:
Tim Schumacher 2021-05-26 09:39:57 +02:00 committed by Linus Groh
parent a3b4e43dd8
commit cd970928a0
Notes: sideshowbarker 2024-07-18 17:10:00 +09:00
2 changed files with 21 additions and 0 deletions

View file

@ -373,6 +373,25 @@ int putenv(char* new_var)
return 0;
}
static const char* __progname = NULL;
const char* getprogname()
{
return __progname;
}
void setprogname(const char* progname)
{
for (int i = strlen(progname) - 1; i >= 0; i--) {
if (progname[i] == '/') {
__progname = progname + i + 1;
return;
}
}
__progname = progname;
}
double strtod(const char* str, char** endptr)
{
// Parse spaces, sign, and base

View file

@ -31,6 +31,8 @@ int putenv(char*);
int unsetenv(const char*);
int clearenv(void);
int setenv(const char* name, const char* value, int overwrite);
const char* getprogname();
void setprogname(const char*);
int atoi(const char*);
long atol(const char*);
long long atoll(const char*);