Use bestline library, update test logs
This commit is contained in:
parent
cfc0102d28
commit
219d72226a
3580
bestline.c
Normal file
3580
bestline.c
Normal file
File diff suppressed because it is too large
Load Diff
39
bestline.h
Normal file
39
bestline.h
Normal file
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
typedef struct bestlineCompletions {
|
||||
unsigned long len;
|
||||
char **cvec;
|
||||
} bestlineCompletions;
|
||||
|
||||
typedef void(bestlineCompletionCallback)(const char *, bestlineCompletions *);
|
||||
typedef char *(bestlineHintsCallback)(const char *, const char **,
|
||||
const char **);
|
||||
typedef void(bestlineFreeHintsCallback)(void *);
|
||||
typedef unsigned(bestlineXlatCallback)(unsigned);
|
||||
|
||||
void bestlineSetCompletionCallback(bestlineCompletionCallback *);
|
||||
void bestlineSetHintsCallback(bestlineHintsCallback *);
|
||||
void bestlineSetFreeHintsCallback(bestlineFreeHintsCallback *);
|
||||
void bestlineAddCompletion(bestlineCompletions *, const char *);
|
||||
void bestlineSetXlatCallback(bestlineXlatCallback *);
|
||||
|
||||
char *bestline(const char *);
|
||||
char *bestlineRaw(const char *, int, int);
|
||||
char *bestlineWithHistory(const char *, const char *);
|
||||
int bestlineHistoryAdd(const char *);
|
||||
int bestlineHistorySave(const char *);
|
||||
int bestlineHistoryLoad(const char *);
|
||||
void bestlineFreeCompletions(bestlineCompletions *);
|
||||
void bestlineHistoryFree(void);
|
||||
void bestlineClearScreen(int);
|
||||
void bestlineMaskModeEnable(void);
|
||||
void bestlineMaskModeDisable(void);
|
||||
void bestlineDisableRawMode(void);
|
||||
void bestlineFree(void *);
|
||||
|
||||
char bestlineIsSeparator(unsigned);
|
||||
char bestlineNotSeparator(unsigned);
|
||||
char bestlineIsXeparator(unsigned);
|
||||
unsigned bestlineUppercase(unsigned);
|
||||
unsigned bestlineLowercase(unsigned);
|
||||
long bestlineReadCharacter(int, char *, unsigned long);
|
8
makefile
8
makefile
@ -61,14 +61,14 @@ covpreproc: covpreproc.c
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
|
||||
|
||||
umka_shell: umka_shell.o umka.o shell.o trace.o trace_lbr.o vdisk.o vnet.o \
|
||||
lodepng.o pci.o thread.o util.o optparse.o
|
||||
lodepng.o pci.o thread.o util.o optparse.o bestline.o
|
||||
$(CC) $(LDFLAGS_32) $^ -o $@ -T umka.ld
|
||||
|
||||
umka_fuse: umka_fuse.o umka.o trace.o trace_lbr.o vdisk.o pci.o thread.o
|
||||
$(CC) $(LDFLAGS_32) $^ -o $@ `pkg-config fuse3 --libs` -T umka.ld
|
||||
|
||||
umka_os: umka_os.o umka.o shell.o lodepng.o vdisk.o vnet.o trace.o trace_lbr.o \
|
||||
pci.o thread.o umka_ping.o util.o
|
||||
pci.o thread.o umka_ping.o util.o bestline.o
|
||||
$(CC) $(LDFLAGS_32) $^ -o $@ -T umka.ld
|
||||
|
||||
umka_gen_devices_dat: umka_gen_devices_dat.o umka.o pci.o thread.o util.o
|
||||
@ -89,8 +89,8 @@ pci.o: $(HOST)/pci.c
|
||||
lodepng.o: lodepng.c lodepng.h
|
||||
$(CC) $(CFLAGS_32) -c $<
|
||||
|
||||
#bestline.o: bestline.c bestline.h
|
||||
# $(CC) $(CFLAGS_32) -U_POSIX_C_SOURCE -Wno-logical-op -Wno-switch-enum -c $<
|
||||
bestline.o: bestline.c bestline.h
|
||||
$(CC) $(CFLAGS_32) -U_POSIX_C_SOURCE -Wno-logical-op -Wno-switch-enum -c $<
|
||||
|
||||
optparse.o: optparse.c optparse.h
|
||||
$(CC) $(CFLAGS_32) -c $<
|
||||
|
105
shell.c
105
shell.c
@ -33,12 +33,9 @@
|
||||
// TODO: Cleanup
|
||||
#ifndef _WIN32
|
||||
#include <arpa/inet.h>
|
||||
#include <sys/select.h>
|
||||
#endif
|
||||
|
||||
#include "shell.h"
|
||||
#include "optparse.h"
|
||||
//#include "bestline.h"
|
||||
#include "vdisk.h"
|
||||
#include "vnet.h"
|
||||
#include "umka.h"
|
||||
@ -46,9 +43,9 @@
|
||||
#include "pci.h"
|
||||
#include "util.h"
|
||||
#include "lodepng.h"
|
||||
#include "optparse.h"
|
||||
#include "bestline.h"
|
||||
|
||||
//#define PATH_MAX 4096
|
||||
#define FGETS_BUF_LEN 4096
|
||||
#define MAX_COMMAND_ARGS 42
|
||||
#define PRINT_BYTES_PER_LINE 32
|
||||
#define MAX_DIRENTS_TO_READ 100
|
||||
@ -57,13 +54,11 @@
|
||||
#define DEFAULT_READDIR_ENCODING UTF8
|
||||
#define DEFAULT_PATH_ENCODING UTF8
|
||||
|
||||
char prompt_line[2*PATH_MAX];
|
||||
char prompt_line[PATH_MAX];
|
||||
char cur_dir[PATH_MAX] = "/";
|
||||
const char *last_dir = cur_dir;
|
||||
bool cur_dir_changed = true;
|
||||
|
||||
char cmd_buf[FGETS_BUF_LEN];
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
void (*func) (struct shell_ctx *, int, char **);
|
||||
@ -219,7 +214,7 @@ prompt(struct shell_ctx *ctx) {
|
||||
fprintf(ctx->fout, "%s> ", last_dir);
|
||||
fflush(ctx->fout);
|
||||
}
|
||||
/*
|
||||
|
||||
static void
|
||||
completion(const char *buf, bestlineCompletions *lc) {
|
||||
if (buf[0] == 'h') {
|
||||
@ -237,39 +232,6 @@ hints(const char *buf, const char **ansi1, const char **ansi2) {
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
*/
|
||||
static int
|
||||
next_line(struct shell_ctx *ctx, int is_tty) {
|
||||
if (is_tty) {
|
||||
prompt(ctx);
|
||||
}
|
||||
return fgets(cmd_buf, FGETS_BUF_LEN, ctx->fin) != NULL;
|
||||
// TODO: Cleanup
|
||||
#ifdef _WIN32
|
||||
return fgets(cmd_buf, FGETS_BUF_LEN, ctx->fin) != NULL;
|
||||
#else
|
||||
fd_set readfds;
|
||||
// FD_ZERO(&readfds);
|
||||
memset(&readfds, 0, sizeof(readfds));
|
||||
FD_SET(fileno(ctx->fin), &readfds);
|
||||
struct timeval timeout = {.tv_sec = 0, .tv_usec = 0};
|
||||
int sr = select(fileno(ctx->fin)+1, &readfds, NULL, NULL, &timeout);
|
||||
cmd_buf[0] = '\0';
|
||||
if (sr > 0) {
|
||||
fgets(cmd_buf, FGETS_BUF_LEN, ctx->fin);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
/*
|
||||
sprintf(prompt_line, "%s> ", last_dir);
|
||||
char *line = bestlineRaw(prompt_line, fileno(ctx->fin), fileno(ctx->fout));
|
||||
if (line) {
|
||||
strcpy(cmd_buf, line);
|
||||
bestlineFree(line);
|
||||
}
|
||||
return line != NULL;
|
||||
*/
|
||||
}
|
||||
|
||||
static int
|
||||
split_args(char *s, char **argv) {
|
||||
@ -778,7 +740,13 @@ shell_set(struct shell_ctx *ctx, int argc, char **argv) {
|
||||
return;
|
||||
}
|
||||
const char *var = argv[1];
|
||||
size_t value = strtoul(argv[2], NULL, 0);
|
||||
const char *val_str = argv[2];
|
||||
char *endptr;
|
||||
ssize_t value = strtol(val_str, &endptr, 0);
|
||||
if (*endptr != '\0') {
|
||||
fprintf(ctx->fout, "integer required: %s\n", val_str);
|
||||
return;
|
||||
}
|
||||
if (!strcmp(var, "redraw_background")) {
|
||||
kos_redraw_background = value;
|
||||
} else if (!strcmp(var, "syslang")) {
|
||||
@ -3398,35 +3366,42 @@ void *
|
||||
run_test(struct shell_ctx *ctx) {
|
||||
int is_tty = isatty(fileno(ctx->fin));
|
||||
char **argv = (char**)calloc(sizeof(char*), (MAX_COMMAND_ARGS + 1));
|
||||
// bestlineSetCompletionCallback(completion);
|
||||
// bestlineSetHintsCallback(hints);
|
||||
// bestlineHistoryLoad("umka_shell.history");
|
||||
while(next_line(ctx, is_tty)) {
|
||||
if (cmd_buf[0] == '#' || cmd_buf[0] == '\n' || cmd_buf[0] == '\0' ||
|
||||
cmd_buf[0] == '\r') {
|
||||
fprintf(ctx->fout, "%s", cmd_buf);
|
||||
continue;
|
||||
}
|
||||
if (cmd_buf[0] == 'X') break;
|
||||
bestlineSetCompletionCallback(completion);
|
||||
bestlineSetHintsCallback(hints);
|
||||
bestlineHistoryLoad(ctx->hist_file);
|
||||
sprintf(prompt_line, "%s> ", last_dir);
|
||||
char *line;
|
||||
while((line = bestline(prompt_line))) {
|
||||
if (!is_tty) {
|
||||
prompt(ctx);
|
||||
fprintf(ctx->fout, "%s", cmd_buf);
|
||||
fflush(ctx->fout);
|
||||
fprintf(ctx->fout, "%s\n", line);
|
||||
}
|
||||
int argc = split_args(cmd_buf, argv);
|
||||
func_table_t *ft;
|
||||
for (ft = shell_cmds; ft->name; ft++) {
|
||||
if (!strcmp(argv[0], ft->name)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ft->name) {
|
||||
ft->func(ctx, argc, argv);
|
||||
if (!strcmp(line, "X") || !strcmp(line, "q")) {
|
||||
free(line);
|
||||
break;
|
||||
} else if (line[0] == '\0' || line[0] == '#' || line[0] == '\n'
|
||||
|| *line == '\r') {
|
||||
free(line);
|
||||
continue;
|
||||
} else {
|
||||
fprintf(ctx->fout, "unknown command: %s\n", argv[0]);
|
||||
bestlineHistoryAdd(line);
|
||||
int argc = split_args(line, argv);
|
||||
func_table_t *ft;
|
||||
for (ft = shell_cmds; ft->name; ft++) {
|
||||
if (!strcmp(argv[0], ft->name)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ft->name) {
|
||||
ft->func(ctx, argc, argv);
|
||||
} else {
|
||||
fprintf(ctx->fout, "unknown command: %s\n", argv[0]);
|
||||
}
|
||||
free(line);
|
||||
}
|
||||
}
|
||||
free(argv);
|
||||
bestlineHistorySave(ctx->hist_file);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
1
shell.h
1
shell.h
@ -7,6 +7,7 @@ struct shell_ctx {
|
||||
FILE *fin;
|
||||
FILE *fout;
|
||||
int reproducible;
|
||||
const char *hist_file;
|
||||
};
|
||||
|
||||
void *run_test(struct shell_ctx *ctx);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v4_files_s05k_b4k_n8k.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
# zero length
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/no_hole 0 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -74,7 +74,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/no_hole 0 1 -b
|
||||
status = 0 success, count = 1
|
||||
00
|
||||
@ -147,7 +147,7 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 1 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/no_hole 0 11 -b
|
||||
status = 0 success, count = 11
|
||||
000102030405060708090a
|
||||
@ -205,8 +205,8 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 11 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
|
||||
# btree
|
||||
/>
|
||||
/> # btree
|
||||
/> read70 /hd0/1/btree_l1_no_hole 0x80000 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000080004000800080008
|
||||
|
@ -1,8 +1,8 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v4_files_s05k_b4k_n8k.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
# hole begin
|
||||
# zero length
|
||||
/> # hole begin
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_begin 0 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -21,7 +21,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_begin 0x4001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_begin 0 1 -b
|
||||
status = 0 success, count = 1
|
||||
00
|
||||
@ -40,7 +40,7 @@ status = 0 success, count = 1
|
||||
/> read70 /hd0/1/hole_begin 0x4001 1 -b
|
||||
status = 0 success, count = 1
|
||||
40
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_begin 0 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
@ -71,9 +71,9 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/hole_begin 0x4001 11 -b
|
||||
status = 0 success, count = 11
|
||||
4002400440064008400a40
|
||||
|
||||
# hole middle
|
||||
# zero length
|
||||
/>
|
||||
/> # hole middle
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_middle 0x7ffe 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -98,7 +98,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_middle 0xc001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_middle 0x7ffe 1 -b
|
||||
status = 0 success, count = 1
|
||||
fe
|
||||
@ -123,7 +123,7 @@ status = 0 success, count = 1
|
||||
/> read70 /hd0/1/hole_middle 0xc001 1 -b
|
||||
status = 0 success, count = 1
|
||||
c0
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_middle 0x7ff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f47ff67ff87ffa7ffc7ffe
|
||||
@ -172,9 +172,9 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/hole_middle 0xc001 11 -b
|
||||
status = 0 success, count = 11
|
||||
c002c004c006c008c00ac0
|
||||
|
||||
# hole end
|
||||
# zero length
|
||||
/>
|
||||
/> # hole end
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_end 0xbffe 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -199,7 +199,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_end 0x10001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_end 0xbffe 1 -b
|
||||
status = 0 success, count = 1
|
||||
fe
|
||||
@ -224,7 +224,7 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/hole_end 0x10001 1 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_end 0xbff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f4bff6bff8bffabffcbffe
|
||||
|
@ -16,7 +16,7 @@ status = 5 file_not_found
|
||||
status = 5 file_not_found
|
||||
/> stat70 /hd0/1/sf_empty/deadbeef
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/.
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -38,9 +38,9 @@ attr: ----f
|
||||
/> stat70 /hd0/1/sf/../sf/
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
#stat70 /hd0/1/sf///..//sf
|
||||
#stat70 /hd0/1/sf///..//sf/
|
||||
|
||||
/> #stat70 /hd0/1/sf///..//sf
|
||||
/> #stat70 /hd0/1/sf///..//sf/
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/d0000000000_
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -52,7 +52,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
/> stat70 /hd0/1/sf/d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> cd /hd0/1/sf
|
||||
sf> stat70 .
|
||||
status = 0 success
|
||||
@ -68,7 +68,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
sf> stat70 d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
sf>
|
||||
sf> cd /hd0/1/block
|
||||
block> stat70 .
|
||||
status = 0 success
|
||||
@ -93,7 +93,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
block> stat70 d0000000005_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
block>
|
||||
block> cd /hd0/1/leaf
|
||||
leaf> stat70 .
|
||||
status = 0 success
|
||||
@ -112,7 +112,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
leaf> stat70 d0000000040_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
leaf>
|
||||
leaf> cd /hd0/1/node
|
||||
node> stat70 d0000000000_
|
||||
status = 0 success
|
||||
@ -144,7 +144,7 @@ attr: ----f
|
||||
node> stat70 d0000001099_xxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
node>
|
||||
node> cd /hd0/1/btree_leaf
|
||||
btree_leaf> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -164,7 +164,7 @@ attr: ----f
|
||||
btree_leaf> stat70 d0000000999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf>
|
||||
btree_leaf> cd /hd0/1/btree_leaf_free
|
||||
btree_leaf_free> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -184,5 +184,5 @@ attr: ----f
|
||||
btree_leaf_free> stat70 d0000001199_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf_free>
|
||||
btree_leaf_free> disk_del hd0
|
||||
|
@ -12,7 +12,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
/> stat70 /hd0/1/sf_empty/deadbeef
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/.
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -34,9 +34,9 @@ attr: ----f
|
||||
/> stat70 /hd0/1/sf/../sf/
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
#stat70 /hd0/1/sf///..//sf
|
||||
#stat70 /hd0/1/sf///..//sf/
|
||||
|
||||
/> #stat70 /hd0/1/sf///..//sf
|
||||
/> #stat70 /hd0/1/sf///..//sf/
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/d0000000000_
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -48,7 +48,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
/> stat70 /hd0/1/sf/d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> cd /hd0/1/sf
|
||||
sf> stat70 .
|
||||
status = 0 success
|
||||
@ -64,7 +64,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
sf> stat70 d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
sf>
|
||||
sf> cd /hd0/1/block
|
||||
block> stat70 .
|
||||
status = 0 success
|
||||
@ -89,7 +89,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
block> stat70 d0000000005_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
block>
|
||||
block> cd /hd0/1/leaf
|
||||
leaf> stat70 .
|
||||
status = 0 success
|
||||
@ -108,7 +108,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
leaf> stat70 d0000000040_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
leaf>
|
||||
leaf> cd /hd0/1/node
|
||||
node> stat70 d0000000000_
|
||||
status = 0 success
|
||||
@ -140,7 +140,7 @@ attr: ----f
|
||||
node> stat70 d0000001019_xxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
node>
|
||||
node> cd /hd0/1/btree_leaf
|
||||
btree_leaf> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -160,7 +160,7 @@ attr: ----f
|
||||
btree_leaf> stat70 d0000000999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf>
|
||||
btree_leaf> cd /hd0/1/btree_leaf_free
|
||||
btree_leaf_free> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -180,5 +180,5 @@ attr: ----f
|
||||
btree_leaf_free> stat70 d0000001199_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf_free>
|
||||
btree_leaf_free> disk_del hd0
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v4_unicode.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
|
||||
/>
|
||||
/> stat80 /hd0/1/dir0
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -32,7 +32,7 @@ attr: ----f
|
||||
/> stat80 /hd0/1/дир3
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
/>
|
||||
/> stat80 /hd0/1/dir0/file00
|
||||
status = 0 success
|
||||
attr: -----
|
||||
@ -61,7 +61,7 @@ size: 26
|
||||
status = 0 success
|
||||
attr: -----
|
||||
size: 26
|
||||
|
||||
/>
|
||||
/> read80 /hd0/1/dir0/file00 0 100 -b
|
||||
status = 6 end_of_file, count = 12
|
||||
68656c6c6f5f776f726c640a
|
||||
@ -74,7 +74,7 @@ d0bfd180d0b8d0b2d0b5d182e29da6d0bcd0b8d1800a
|
||||
/> read80 /hd0/1/дир3/файл33 0 100 -b
|
||||
status = 6 end_of_file, count = 26
|
||||
d0bfd180d0b8d0b2d0b5d182e29da6f09f9297d0bcd0b8d1800a
|
||||
|
||||
/>
|
||||
/> ls70 /hd0/1/ -e utf8
|
||||
status = 6 end_of_file, count = 7
|
||||
total = 7
|
||||
@ -131,7 +131,7 @@ status = 5 file_not_found
|
||||
status = 5 file_not_found
|
||||
/> ls70 /hd0/1/дир3/ -e default
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> ls80 /hd0/1/ -e utf8
|
||||
status = 6 end_of_file, count = 7
|
||||
total = 7
|
||||
@ -220,7 +220,7 @@ total = 3
|
||||
----f .
|
||||
----f ..
|
||||
----- D09;3
|
||||
|
||||
/>
|
||||
/> ls80 /hd0/1/â<>¦ðŸ‘©â<C2A9>¦/ -e utf8
|
||||
status = 6 end_of_file, count = 5
|
||||
total = 5
|
||||
@ -253,5 +253,5 @@ total = 5
|
||||
----f iØ=Üf'f'
|
||||
----f f'iØ=Üf'
|
||||
----f f'f'iØ=Ü
|
||||
|
||||
/>
|
||||
/> disk_del hd0
|
||||
|
@ -12,7 +12,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
/> stat70 /hd0/1/sf_empty/deadbeef
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/.
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -34,9 +34,9 @@ attr: ----f
|
||||
/> stat70 /hd0/1/sf/../sf/
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
#stat70 /hd0/1/sf///..//sf
|
||||
#stat70 /hd0/1/sf///..//sf/
|
||||
|
||||
/> #stat70 /hd0/1/sf///..//sf
|
||||
/> #stat70 /hd0/1/sf///..//sf/
|
||||
/>
|
||||
/> stat70 /hd0/1/sf/d0000000000_
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -48,7 +48,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
/> stat70 /hd0/1/sf/d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> cd /hd0/1/sf
|
||||
sf> stat70 .
|
||||
status = 0 success
|
||||
@ -64,7 +64,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
sf> stat70 d0000000003_xxx
|
||||
status = 5 file_not_found
|
||||
|
||||
sf>
|
||||
sf> cd /hd0/1/block
|
||||
block> stat70 .
|
||||
status = 0 success
|
||||
@ -89,7 +89,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
block> stat70 d0000000005_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
block>
|
||||
block> cd /hd0/1/leaf
|
||||
leaf> stat70 .
|
||||
status = 0 success
|
||||
@ -108,7 +108,7 @@ status = 0 success
|
||||
attr: ----f
|
||||
leaf> stat70 d0000000040_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 5 file_not_found
|
||||
|
||||
leaf>
|
||||
leaf> cd /hd0/1/node
|
||||
node> stat70 d0000000000_
|
||||
status = 0 success
|
||||
@ -140,7 +140,7 @@ attr: ----f
|
||||
node> stat70 d0000001099_xxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
node>
|
||||
node> cd /hd0/1/btree_leaf
|
||||
btree_leaf> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -160,7 +160,7 @@ attr: ----f
|
||||
btree_leaf> stat70 d0000000999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf>
|
||||
btree_leaf> cd /hd0/1/btree_leaf_free
|
||||
btree_leaf_free> stat70 d0000000000_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
@ -180,5 +180,5 @@ attr: ----f
|
||||
btree_leaf_free> stat70 d0000001199_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
|
||||
btree_leaf_free>
|
||||
btree_leaf_free> disk_del hd0
|
||||
|
@ -1,8 +1,8 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
# hole begin
|
||||
# zero length
|
||||
/> # hole begin
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_begin 0 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -21,7 +21,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_begin 0x4001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_begin 0 1 -b
|
||||
status = 0 success, count = 1
|
||||
00
|
||||
@ -40,7 +40,7 @@ status = 0 success, count = 1
|
||||
/> read70 /hd0/1/hole_begin 0x4001 1 -b
|
||||
status = 0 success, count = 1
|
||||
40
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_begin 0 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
@ -71,9 +71,9 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/hole_begin 0x4001 11 -b
|
||||
status = 0 success, count = 11
|
||||
4002400440064008400a40
|
||||
|
||||
# hole middle
|
||||
# zero length
|
||||
/>
|
||||
/> # hole middle
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_middle 0x7ffe 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -98,7 +98,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_middle 0xc001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_middle 0x7ffe 1 -b
|
||||
status = 0 success, count = 1
|
||||
fe
|
||||
@ -123,7 +123,7 @@ status = 0 success, count = 1
|
||||
/> read70 /hd0/1/hole_middle 0xc001 1 -b
|
||||
status = 0 success, count = 1
|
||||
c0
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_middle 0x7ff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f47ff67ff87ffa7ffc7ffe
|
||||
@ -172,9 +172,9 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/hole_middle 0xc001 11 -b
|
||||
status = 0 success, count = 11
|
||||
c002c004c006c008c00ac0
|
||||
|
||||
# hole end
|
||||
# zero length
|
||||
/>
|
||||
/> # hole end
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/hole_end 0xbffe 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -199,7 +199,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/hole_end 0x10001 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/hole_end 0xbffe 1 -b
|
||||
status = 0 success, count = 1
|
||||
fe
|
||||
@ -224,7 +224,7 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/hole_end 0x10001 1 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/hole_end 0xbff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f4bff6bff8bffabffcbffe
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v5_files_s05k_b4k_n8k.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
# zero length
|
||||
/> # zero length
|
||||
/> read70 /hd0/1/no_hole 0 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
@ -74,7 +74,7 @@ status = 0 success, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 0 -b
|
||||
status = 0 success, count = 0
|
||||
|
||||
# one-byte length
|
||||
/> # one-byte length
|
||||
/> read70 /hd0/1/no_hole 0 1 -b
|
||||
status = 0 success, count = 1
|
||||
00
|
||||
@ -147,7 +147,7 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 1 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
# fixed-size block, different begin/end positions
|
||||
/> # fixed-size block, different begin/end positions
|
||||
/> read70 /hd0/1/no_hole 0 11 -b
|
||||
status = 0 success, count = 11
|
||||
000102030405060708090a
|
||||
@ -205,8 +205,8 @@ status = 6 end_of_file, count = 0
|
||||
/> read70 /hd0/1/no_hole 0xffffffffffffffff 11 -b
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
|
||||
# btree
|
||||
/>
|
||||
/> # btree
|
||||
/> read70 /hd0/1/btree_l1_no_hole 0x80000 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000080004000800080008
|
||||
|
@ -1,6 +1,6 @@
|
||||
/> umka_init
|
||||
/> set_mouse_pos_screen 40 30
|
||||
#disk_add ../img/kolibri.img rd -c 0
|
||||
/> #disk_add ../img/kolibri.img rd -c 0
|
||||
/> ramdisk_init ../img/kolibri.img
|
||||
/rd/1: fat
|
||||
/> set_skin /sys/DEFAULT.SKN
|
||||
@ -22,15 +22,15 @@ status: 0
|
||||
/> display_number 0 10 4 0 0 1234 5 45 0xffff00 1 1 0 0 0x0000ff
|
||||
/> blit_bitmap chess_image.rgba 20 35 8 8 0 0 8 8 0 0 0 1 32
|
||||
/> window_redraw 2
|
||||
|
||||
/>
|
||||
/> set_window_caption hi_there 0
|
||||
|
||||
/>
|
||||
/> get_font_smoothing
|
||||
font smoothing: 2 - subpixel
|
||||
/> set_font_smoothing 0
|
||||
/> get_font_smoothing
|
||||
font smoothing: 0 - off
|
||||
|
||||
/>
|
||||
/> get_window_colors
|
||||
0x00586786 frame
|
||||
0x00fefefe grab
|
||||
@ -43,7 +43,7 @@ font smoothing: 0 - off
|
||||
0x00000000 work_text
|
||||
0x007e7e7e work_graph
|
||||
/> set_window_colors 0 0 0 0 0 0 0 0 0 0
|
||||
|
||||
/>
|
||||
/> dump_win_stack 2
|
||||
0: 0
|
||||
1: 1
|
||||
@ -69,7 +69,7 @@ wnd_caption:
|
||||
wnd_clientbox (ltwh): 5 24 291 172
|
||||
priority: 0
|
||||
in_schedule: prev (2), next (2)
|
||||
|
||||
/>
|
||||
/> process_info -1
|
||||
cpu_usage: 0
|
||||
window_stack_position: 2
|
||||
@ -100,16 +100,16 @@ wnd_state: 0x00
|
||||
5 top
|
||||
65 right
|
||||
3 bottom
|
||||
|
||||
/>
|
||||
/> get_font_size
|
||||
0px
|
||||
/> set_font_size 16
|
||||
/> get_font_size
|
||||
16px
|
||||
|
||||
/>
|
||||
/> get_screen_size
|
||||
400x300
|
||||
|
||||
/>
|
||||
/> scrot 016_#f01_#draw_all.out.png
|
||||
|
||||
/>
|
||||
/> disk_del rd
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v4_files_s05k_b4k_n8k.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x3ff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
@ -23,7 +23,7 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/4GiB_plus 0x4001 11 -b
|
||||
status = 0 success, count = 11
|
||||
4002400440064008400a40
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x7ff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f47ff67ff87ffa7ffc7ffe
|
||||
@ -45,7 +45,7 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/4GiB_plus 0x8001 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0xfffffff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
f4fffffff8fffffffcffff
|
||||
@ -67,7 +67,7 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/4GiB_plus 0x100000001 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000100000008000000
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x11ffffff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
@ -89,7 +89,7 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/4GiB_plus 0x120000001 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000200100000008000020
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003ff4 11 -b
|
||||
status = 0 success, count = 11
|
||||
01000000f83f0020010000
|
||||
@ -111,7 +111,7 @@ status = 0 success, count = 11
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004001 11 -b
|
||||
status = 0 success, count = 11
|
||||
0000000000000000000000
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x11fffefff 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -124,7 +124,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x11fffefff 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
d22f0c1a9c494cc1a8a1e1a2ccf4057502f2839603632d47c69cc272b8d7ef96
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x11ffff000 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -137,7 +137,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x11ffff000 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
0f8d363587a204a536ae4e17046f1b946d3716805d181d147968eb2d1efc5c63
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x11ffff001 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -150,7 +150,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x11ffff001 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
56d243996479770cd97a33c679fb57ff3c354d7785f5d846f53e171bad850389
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120002fff 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
a126d59a9acb9cd3c977779638d1df609be8bd079b1b57373c87974b73a562ec
|
||||
@ -163,7 +163,7 @@ f78a428aec38eb1d81a138060671b2a450c7b7d4cdda6226db4cd9fcc073bbc3
|
||||
/> read70 /hd0/1/4GiB_plus 0x120002fff 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
5d3ab86c1605d59550fe26506a8e16ca3e6b46b2a8cf9030a5dc5a00bd728823
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003000 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
5077407c7ecc83efb242c96ed6ec3ad86008f253a083b61cc9855a5e6c94c3f5
|
||||
@ -176,7 +176,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003000 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
e6a7c5df31fce8a8ee6ae52b715b2fca721e6fca63d1605e02be585de8526cf1
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003001 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
316310be962fd169a9961c0fc91a98deb30ab7c20fe35d32f4c0f14fa30660d5
|
||||
@ -189,7 +189,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003001 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
1adf6f95f4151bb640c60cf530ebfe91b5e268bf78044bd51de755a95bc07d08
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003fff 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -202,7 +202,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003fff 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
b70dd656adf5c5b3434b695386dd07658e667f6f9d0cd34af5a3e8527924964f
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004000 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -215,7 +215,7 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004000 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
b70dd656adf5c5b3434b695386dd07658e667f6f9d0cd34af5a3e8527924964f
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004001 0x0fff -h
|
||||
status = 0 success, count = 4095
|
||||
1f65b79da1bf0dc2a529219184e005cc1453894c4ea996a1307784c7690eb7d2
|
||||
@ -228,8 +228,8 @@ status = 0 success, count = 4097
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004001 0x2001 -h
|
||||
status = 0 success, count = 8193
|
||||
b70dd656adf5c5b3434b695386dd07658e667f6f9d0cd34af5a3e8527924964f
|
||||
|
||||
# data, hole, data
|
||||
/>
|
||||
/> # data, hole, data
|
||||
/> read70 /hd0/1/4GiB_plus 0x120003fff 0x6000 -h
|
||||
status = 6 end_of_file, count = 20481
|
||||
f4ab1c2ab5e007814bc19cf58547cf98df1c1c70a1d02f5c417fe2a15b47239f
|
||||
@ -239,8 +239,8 @@ status = 6 end_of_file, count = 20480
|
||||
/> read70 /hd0/1/4GiB_plus 0x120004001 0x6000 -h
|
||||
status = 6 end_of_file, count = 20479
|
||||
ba9f86ce5ae88d4875fa38ef47f7257ba00e172ed2e2ee1473599de58c80823c
|
||||
|
||||
# hole, data, hole
|
||||
/>
|
||||
/> # hole, data, hole
|
||||
/> read70 /hd0/1/4GiB_plus 0x11fffefff 0x6000 -h
|
||||
status = 0 success, count = 24576
|
||||
8ffe00fc8d9cb9b2d33865a95917df2cee3f6711c8d6358fd082ed5494851411
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/xfs_v4_btrees_l2.img hd0 -c 0
|
||||
/hd0/1: xfs
|
||||
|
||||
/>
|
||||
/> ls80 /hd0/1/dir_btree_l2 -f 0 -c 1
|
||||
status = 0 success, count = 1
|
||||
----f .
|
||||
@ -393,7 +393,7 @@ status = 6 end_of_file, count = 83
|
||||
----f d0000193178_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
----f d0000193179_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
----f d0000193180_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
|
||||
/>
|
||||
/> read70 /hd0/1/file_btree_l2 0 16388096 -h
|
||||
status = 0 success, count = 16388096
|
||||
8cbbb4bf572aaf6016e608260f372facfffb6e40fc31d8d7d83b08b526273d75
|
||||
@ -409,5 +409,5 @@ bb66ddff9fa267bf7a42153d0de9dc029b775e23d6378ade96e6c92ceaf6841a
|
||||
/> read70 /hd0/1/file_btree_l2 0x1000 0x1001 -h
|
||||
status = 0 success, count = 4097
|
||||
aa026c31286b2ba83a047f8d07baa712b34da983235afb79b4d2cb60cf668f2b
|
||||
|
||||
/>
|
||||
/> disk_del hd0
|
||||
|
@ -4,21 +4,21 @@
|
||||
/rd/1: fat
|
||||
/> set_skin /sys/DEFAULT.SKN
|
||||
status: 0
|
||||
|
||||
/>
|
||||
/> window_redraw 1
|
||||
/> draw_window 2 10 4 10 0x000088 1 1 1 0 1 4 hello
|
||||
/> window_redraw 2
|
||||
|
||||
/>
|
||||
/> set_window_caption hi_there 0
|
||||
|
||||
/>
|
||||
/> new_sys_thread
|
||||
tid: 3
|
||||
/> switch_to_thread 3
|
||||
|
||||
/>
|
||||
/> window_redraw 1
|
||||
/> draw_window 4 5 8 5 0x000088 1 1 1 0 1 4 hello
|
||||
/> window_redraw 2
|
||||
|
||||
/>
|
||||
/> dump_win_map
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
@ -64,7 +64,7 @@ tid: 3
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
|
||||
/>
|
||||
/> set redraw_background 0
|
||||
/> move_window 6 8 5 5
|
||||
/> dump_win_map
|
||||
@ -112,7 +112,7 @@ tid: 3
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
|
||||
/>
|
||||
/> set redraw_background 0
|
||||
/> move_window 6 10 5 5
|
||||
/> dump_win_map
|
||||
@ -160,7 +160,7 @@ tid: 3
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
11111111111111111111111111111111111111111111
|
||||
|
||||
/>
|
||||
/> scrot 044_#f01_#draw_winmap.out.png
|
||||
|
||||
/>
|
||||
/> disk_del rd
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/exfat_s05k_c16k_b16k.img hd0 -c 0
|
||||
/hd0/1: exfat
|
||||
|
||||
/>
|
||||
/> ls70 /hd0/1/dir_0 -f 0 -c 0
|
||||
/> ls70 /hd0/1/dir_0 -f 0 -c 1
|
||||
status = 0 success, count = 1
|
||||
@ -19,7 +19,7 @@ status = 6 end_of_file, count = 0
|
||||
status = 6 end_of_file, count = 0
|
||||
/> ls70 /hd0/1/dir_0 -f 1 -c 0xffffffff
|
||||
status = 6 end_of_file, count = 0
|
||||
|
||||
/>
|
||||
/> ls70 /hd0/1/dir_1 -f 0 -c 0
|
||||
/> ls70 /hd0/1/dir_1 -f 0 -c 1
|
||||
status = 0 success, count = 1
|
||||
@ -42,7 +42,7 @@ status = 6 end_of_file, count = 1
|
||||
/> ls70 /hd0/1/dir_1 -f 1 -c 0xffffffff
|
||||
status = 6 end_of_file, count = 1
|
||||
----- file000
|
||||
|
||||
/>
|
||||
/> ls70 /hd0/1/dir_1000
|
||||
status = 0 success, count = 100
|
||||
total = 1001
|
||||
@ -11273,5 +11273,5 @@ total = 10001
|
||||
----f d0000009999_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
/> ls70 /hd0/1/dir_100000
|
||||
status = 5 file_not_found
|
||||
|
||||
/>
|
||||
/> disk_del hd0
|
||||
|
@ -1,7 +1,7 @@
|
||||
/> umka_init
|
||||
/> disk_add ../img/exfat_s05k_c8k_b8k.img hd0 -c 0
|
||||
/hd0/1: exfat
|
||||
|
||||
/>
|
||||
/> stat70 /hd0/1/dir_000
|
||||
status = 0 success
|
||||
attr: ----f
|
||||
@ -226,5 +226,5 @@ attr: ----f
|
||||
status = 0 success
|
||||
attr: -----
|
||||
size: 1
|
||||
|
||||
/>
|
||||
/> disk_del hd0
|
||||
|
@ -1,5 +1,5 @@
|
||||
/> umka_init
|
||||
|
||||
/>
|
||||
/> get_keyboard_mode
|
||||
keyboard_mode: 0 - ASCII
|
||||
/> get_keyboard_lang
|
||||
@ -7,7 +7,7 @@ keyboard_mode: 0 - ASCII
|
||||
/> get_system_lang
|
||||
1 - en
|
||||
/> dump_key_buff
|
||||
|
||||
/>
|
||||
/> get_keyboard_lang
|
||||
1 - en
|
||||
/> set_keyboard_lang 0
|
||||
@ -49,7 +49,7 @@ invalid lang: 0
|
||||
/> set_keyboard_lang 12
|
||||
/> get_keyboard_lang
|
||||
invalid lang: 12
|
||||
|
||||
/>
|
||||
/> get_system_lang
|
||||
1 - en
|
||||
/> set_system_lang 0
|
||||
@ -91,7 +91,7 @@ invalid lang: 0
|
||||
/> set_system_lang 12
|
||||
/> get_system_lang
|
||||
invalid lang: 12
|
||||
|
||||
/>
|
||||
/> set_keyboard_mode 0
|
||||
/> get_keyboard_mode
|
||||
keyboard_mode: 0 - ASCII
|
||||
@ -103,7 +103,7 @@ keyboard_mode: 0 - ASCII
|
||||
0x00033200
|
||||
/> dump_key_buff
|
||||
0 0x34 0x05
|
||||
|
||||
/>
|
||||
/> set_keyboard_mode 1
|
||||
/> get_keyboard_mode
|
||||
keyboard_mode: 1 - scancodes
|
||||
@ -117,7 +117,7 @@ keyboard_mode: 1 - scancodes
|
||||
/> dump_key_buff
|
||||
0 0x07 0x00
|
||||
1 0x09 0x00
|
||||
|
||||
/>
|
||||
/> get_key
|
||||
0x00000700
|
||||
/> get key_count
|
||||
@ -131,7 +131,7 @@ keyboard_mode: 1 - scancodes
|
||||
/> get key_count
|
||||
0
|
||||
/> dump_key_buff
|
||||
|
||||
/>
|
||||
/> get_keyboard_layout -t 1
|
||||
0x36 0x1b 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x30 0x2d 0x3d 0x08 0x09
|
||||
0x71 0x77 0x65 0x72 0x74 0x79 0x75 0x69 0x6f 0x70 0x5b 0x5d 0x0d 0x7e 0x61 0x73
|
||||
@ -186,7 +186,7 @@ keyboard_mode: 1 - scancodes
|
||||
0xb1 0xb7 0xb9 0xb6 0x41 0x42 0x43 0x44 0xff 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c
|
||||
0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x41 0x42
|
||||
0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52
|
||||
|
||||
/>
|
||||
/> set_keyboard_layout -t 0 -f 00ff.layout
|
||||
status: -1
|
||||
/> get_keyboard_layout -t normal
|
||||
@ -216,7 +216,7 @@ status: -1
|
||||
0xb1 0xb7 0xb9 0xb6 0x41 0x42 0x43 0x44 0xff 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c
|
||||
0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x41 0x42
|
||||
0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52
|
||||
|
||||
/>
|
||||
/> set_keyboard_layout -t 1 -f 00ff.layout
|
||||
status: 0
|
||||
/> get_keyboard_layout -t normal
|
||||
@ -246,7 +246,7 @@ status: 0
|
||||
0xb1 0xb7 0xb9 0xb6 0x41 0x42 0x43 0x44 0xff 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c
|
||||
0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x41 0x42
|
||||
0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52
|
||||
|
||||
/>
|
||||
/> set_keyboard_layout -t 2 -f 00ff.layout
|
||||
status: 0
|
||||
/> get_keyboard_layout -t normal
|
||||
@ -276,7 +276,7 @@ status: 0
|
||||
0xb1 0xb7 0xb9 0xb6 0x41 0x42 0x43 0x44 0xff 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c
|
||||
0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x41 0x42
|
||||
0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52
|
||||
|
||||
/>
|
||||
/> set_keyboard_layout -t 3 -f 00ff.layout
|
||||
status: 0
|
||||
/> get_keyboard_layout -t normal
|
||||
@ -306,7 +306,7 @@ status: 0
|
||||
0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f
|
||||
0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f
|
||||
0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f
|
||||
|
||||
/>
|
||||
/> set_keyboard_layout -t 4 -f 00ff.layout
|
||||
status: -1
|
||||
/> get_keyboard_layout -t normal
|
||||
@ -336,7 +336,7 @@ status: -1
|
||||
0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f
|
||||
0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f
|
||||
0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f
|
||||
|
||||
/>
|
||||
/> set_keyboard_mode ascii
|
||||
/> send_scancode 0x11
|
||||
/> get_key
|
||||
|
@ -1,5 +1,5 @@
|
||||
/> umka_init
|
||||
|
||||
/>
|
||||
/> get_mouse_pos_screen
|
||||
x y: 200 150
|
||||
/> get_mouse_pos_window
|
||||
|
@ -1,22 +1,22 @@
|
||||
/> umka_init
|
||||
#set_mouse_pos_screen 40 30
|
||||
/> #set_mouse_pos_screen 40 30
|
||||
/> ramdisk_init ../img/kolibri.img
|
||||
/rd/1: fat
|
||||
/> set_skin /sys/DEFAULT.SKN
|
||||
status: 0
|
||||
|
||||
/>
|
||||
/> load_cursor_from_file /sys/fill.cur
|
||||
handle = non-zero
|
||||
/> load_cursor_from_mem ../spray.cur
|
||||
handle = non-zero
|
||||
|
||||
/>
|
||||
/> window_redraw 1
|
||||
/> draw_window 10 300 5 200 0x000088 1 1 1 0 1 4 hello
|
||||
/> window_redraw 2
|
||||
|
||||
|
||||
|
||||
/>
|
||||
/>
|
||||
/>
|
||||
/> scrot 051_#draw_#cursor_all.out.png
|
||||
|
||||
|
||||
/>
|
||||
/>
|
||||
/> disk_del rd
|
||||
|
19
umka_shell.c
19
umka_shell.c
@ -26,9 +26,20 @@
|
||||
#include "umka.h"
|
||||
#include "trace.h"
|
||||
|
||||
#define HIST_FILE_BASENAME ".umka_shell.history"
|
||||
#define UMKA_DEFAULT_DISPLAY_WIDTH 400
|
||||
#define UMKA_DEFAULT_DISPLAY_HEIGHT 300
|
||||
|
||||
char history_filename[PATH_MAX];
|
||||
|
||||
void build_history_filename() {
|
||||
const char *dir_name;
|
||||
if (!(dir_name = getenv("HOME"))) {
|
||||
dir_name = ".";
|
||||
}
|
||||
sprintf(history_filename, "%s/%s", dir_name, HIST_FILE_BASENAME);
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
(void)argc;
|
||||
@ -40,7 +51,9 @@ main(int argc, char **argv) {
|
||||
" -r reproducible logs (without pointers and datetime)\n"
|
||||
" -c collect coverage";
|
||||
const char *infile = NULL, *outfile = NULL;
|
||||
struct shell_ctx ctx = {.fin = stdin, .fout = stdout, .reproducible = 0};
|
||||
struct shell_ctx ctx = {.fin = stdin, .fout = stdout, .reproducible = 0,
|
||||
.hist_file = history_filename};
|
||||
build_history_filename();
|
||||
|
||||
kos_boot.bpp = 32;
|
||||
kos_boot.x_res = UMKA_DEFAULT_DISPLAY_WIDTH;
|
||||
@ -74,11 +87,11 @@ main(int argc, char **argv) {
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
if (infile && !(ctx.fin = fopen(infile, "r"))) {
|
||||
if (infile && !(ctx.fin = freopen(infile, "r", stdin))) {
|
||||
fprintf(stderr, "[!] can't open file for reading: %s", infile);
|
||||
exit(1);
|
||||
}
|
||||
if (outfile && !(ctx.fout = fopen(outfile, "w"))) {
|
||||
if (outfile && !(ctx.fout = freopen(outfile, "w", stdout))) {
|
||||
fprintf(stderr, "[!] can't open file for writing: %s", outfile);
|
||||
exit(1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user