main
1#define NOTLIBC_NOMAIN
2#include "notlibc.c"
3
4void PRESERVE_WITH_LTO entry(void) {
5
6 FileView fv = {0};
7 STRING( filename, "test.txt" );
8
9 Status s = S_SUCCESS;
10
11 fv = FileView_from_path( &s, (Str*)&filename, MiB(1), FILEVIEW_OWN_FILE );
12 assert( S_SUCCESSFUL(s) );
13
14 FileView_extend_file( &s, &fv, 5 );
15 assert( S_SUCCESSFUL(s) );
16
17 fv.start->data[0] = 'h';
18 fv.start->data[1] = 'e';
19 fv.start->data[2] = 'l';
20 fv.start->data[3] = 'l';
21 fv.start->data[4] = 'o';
22
23 FileView_destroy( &s, &fv );
24 assert( S_SUCCESSFUL(s) );
25
26 mem_set( &fv, sizeof(fv), 0 );
27
28 fv = FileView_from_path( &s, (Str*)&filename, MiB(1), FILEVIEW_OWN_FILE );
29 assert( S_SUCCESSFUL(s) );
30
31 assert( fv.start->data[0] == 'h');
32 assert( fv.start->data[1] == 'e');
33 assert( fv.start->data[2] == 'l');
34 assert( fv.start->data[3] == 'l');
35 assert( fv.start->data[4] == 'o');
36
37 FileView_destroy( &s, &fv );
38 assert( S_SUCCESSFUL(s) );
39
40 terminate(0);
41}