mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-21 18:44:01 +00:00
62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
#include "cmd_runtime.h"
|
|
|
|
static void ush_args_write_u64_dec(u64 value) {
|
|
char tmp[32];
|
|
u64 len = 0ULL;
|
|
|
|
if (value == 0ULL) {
|
|
ush_write_char('0');
|
|
return;
|
|
}
|
|
|
|
while (value > 0ULL && len < (u64)sizeof(tmp)) {
|
|
tmp[len++] = (char)('0' + (value % 10ULL));
|
|
value /= 10ULL;
|
|
}
|
|
|
|
while (len > 0ULL) {
|
|
len--;
|
|
ush_write_char(tmp[len]);
|
|
}
|
|
}
|
|
|
|
int cleonos_app_main(int argc, char **argv, char **envp) {
|
|
int i;
|
|
int env_count = 0;
|
|
|
|
ush_write("argc=");
|
|
ush_args_write_u64_dec((u64)((argc >= 0) ? argc : 0));
|
|
ush_write_char('\n');
|
|
|
|
for (i = 0; i < argc; i++) {
|
|
ush_write("argv[");
|
|
ush_args_write_u64_dec((u64)i);
|
|
ush_write("]=");
|
|
|
|
if (argv != (char **)0 && argv[i] != (char *)0) {
|
|
ush_writeln(argv[i]);
|
|
} else {
|
|
ush_writeln("(null)");
|
|
}
|
|
}
|
|
|
|
if (envp != (char **)0) {
|
|
while (envp[env_count] != (char *)0 && env_count < 64) {
|
|
env_count++;
|
|
}
|
|
}
|
|
|
|
ush_write("envc=");
|
|
ush_args_write_u64_dec((u64)env_count);
|
|
ush_write_char('\n');
|
|
|
|
for (i = 0; i < env_count; i++) {
|
|
ush_write("env[");
|
|
ush_args_write_u64_dec((u64)i);
|
|
ush_write("]=");
|
|
ush_writeln(envp[i]);
|
|
}
|
|
|
|
return 0;
|
|
}
|