forked from KolibriOS/kolibrios
Update libs CMM
git-svn-id: svn://kolibrios.org@5648 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ad20a7ecb9
commit
279cd11187
@ -7,7 +7,7 @@ void main()
|
|||||||
int id, key, i;
|
int id, key, i;
|
||||||
dword file;
|
dword file;
|
||||||
mem_Init();
|
mem_Init();
|
||||||
io.dir_buffer("",DIR_ONLYREAL);
|
io.dir.load(0,DIR_ONLYREAL);
|
||||||
loop()
|
loop()
|
||||||
{
|
{
|
||||||
switch(WaitEvent())
|
switch(WaitEvent())
|
||||||
@ -45,5 +45,3 @@ void draw_window()
|
|||||||
}
|
}
|
||||||
WriteText(10,110,0x80,0,#param);
|
WriteText(10,110,0x80,0,#param);
|
||||||
}
|
}
|
||||||
|
|
||||||
stop:
|
|
||||||
|
@ -149,6 +149,7 @@
|
|||||||
:struct __DIR
|
:struct __DIR
|
||||||
{
|
{
|
||||||
int make(dword name);
|
int make(dword name);
|
||||||
|
dword load(...);
|
||||||
dword position(dword i);
|
dword position(dword i);
|
||||||
dword buffer;
|
dword buffer;
|
||||||
signed count;
|
signed count;
|
||||||
@ -171,6 +172,29 @@
|
|||||||
$int 0x40
|
$int 0x40
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:dword __DIR::load(dword PATH;byte options)
|
||||||
|
{
|
||||||
|
io.count(PATH);
|
||||||
|
if(count!=-1)
|
||||||
|
{
|
||||||
|
buffer = malloc(count+1*304+32);
|
||||||
|
___ReadDir(count, buffer, PATH);
|
||||||
|
if (options == DIR_ONLYREAL)
|
||||||
|
{
|
||||||
|
if (!strcmp(".",buffer+72)){count--; memmov(buffer,buffer+304,count*304);}
|
||||||
|
if (!strcmp("..",buffer+72)){count--; memmov(buffer,buffer+304,count*304);}
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
if (options == DIR_NOROOT)
|
||||||
|
{
|
||||||
|
if (!strcmp(".",buffer+72)) memmov(buffer,buffer+304,count*304-304);
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
:struct __PATH
|
:struct __PATH
|
||||||
{
|
{
|
||||||
dword file(...);
|
dword file(...);
|
||||||
@ -180,7 +204,9 @@
|
|||||||
:char __PATH_NEW[4096];
|
:char __PATH_NEW[4096];
|
||||||
:dword __PATH::path(dword PATH)
|
:dword __PATH::path(dword PATH)
|
||||||
{
|
{
|
||||||
dword pos = PATH;
|
dword pos;
|
||||||
|
if(!PATH) return self.dir;
|
||||||
|
pos = PATH;
|
||||||
if(DSBYTE[pos]=='/')
|
if(DSBYTE[pos]=='/')
|
||||||
{
|
{
|
||||||
pos++;
|
pos++;
|
||||||
@ -196,7 +222,7 @@
|
|||||||
return #__PATH_NEW;
|
return #__PATH_NEW;
|
||||||
}
|
}
|
||||||
if(!strncmp(PATH,"./",2)) return PATH;
|
if(!strncmp(PATH,"./",2)) return PATH;
|
||||||
sprintf(#__PATH_NEW,"%s/%s",__DIR__,PATH);
|
sprintf(#__PATH_NEW,"%s/%s",self.dir,PATH);
|
||||||
return #__PATH_NEW;
|
return #__PATH_NEW;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,7 +248,6 @@
|
|||||||
double size(...);
|
double size(...);
|
||||||
dword get_size_dir(dword name);
|
dword get_size_dir(dword name);
|
||||||
signed count(dword path);
|
signed count(dword path);
|
||||||
dword dir_buffer(dword path;byte options);
|
|
||||||
signed int run(dword path,param);
|
signed int run(dword path,param);
|
||||||
byte del(...);
|
byte del(...);
|
||||||
dword read(...);
|
dword read(...);
|
||||||
@ -290,31 +315,6 @@
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
:dword IO::dir_buffer(dword PATH;byte options)
|
|
||||||
{
|
|
||||||
count(PATH);
|
|
||||||
if(dir.count!=-1)
|
|
||||||
{
|
|
||||||
//if(dir.buffer) dir.buffer = realloc(dir.buffer,dir.count+1*304+32);
|
|
||||||
//else
|
|
||||||
dir.buffer = malloc(dir.count+1*304+32);
|
|
||||||
___ReadDir(dir.count, dir.buffer, PATH);
|
|
||||||
if (options == DIR_ONLYREAL)
|
|
||||||
{
|
|
||||||
if (!strcmp(".",dir.buffer+72)){dir.count--; memmov(dir.buffer,dir.buffer+304,dir.count*304);}
|
|
||||||
if (!strcmp("..",dir.buffer+72)){dir.count--; memmov(dir.buffer,dir.buffer+304,dir.count*304);}
|
|
||||||
return dir.buffer;
|
|
||||||
}
|
|
||||||
if (options == DIR_NOROOT)
|
|
||||||
{
|
|
||||||
if (!strcmp(".",dir.buffer+72)) memmov(dir.buffer,dir.buffer+304,dir.count*304-304);
|
|
||||||
return dir.buffer;
|
|
||||||
}
|
|
||||||
return dir.buffer;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
:double IO::size(dword PATH)
|
:double IO::size(dword PATH)
|
||||||
{
|
{
|
||||||
dword i,tmp_buf,count_dir,count_file;
|
dword i,tmp_buf,count_dir,count_file;
|
||||||
@ -325,7 +325,7 @@
|
|||||||
if(___GetFileInfo(PATH, #BDVK))return -1;
|
if(___GetFileInfo(PATH, #BDVK))return -1;
|
||||||
if(BDVK.isfolder)
|
if(BDVK.isfolder)
|
||||||
{
|
{
|
||||||
tmp_buf = dir_buffer(PATH,DIR_ONLYREAL);
|
tmp_buf = dir.load(PATH,DIR_ONLYREAL);
|
||||||
if(dir.count<1)return 0;
|
if(dir.count<1)return 0;
|
||||||
count_dir = dir.count;
|
count_dir = dir.count;
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -359,7 +359,7 @@
|
|||||||
if(___GetFileInfo(PATH, #BDVK))return false;
|
if(___GetFileInfo(PATH, #BDVK))return false;
|
||||||
if(BDVK.isfolder)
|
if(BDVK.isfolder)
|
||||||
{
|
{
|
||||||
tmp_buf = dir_buffer(PATH,DIR_ONLYREAL);
|
tmp_buf = dir.load(PATH,DIR_ONLYREAL);
|
||||||
count_dir = dir.count;
|
count_dir = dir.count;
|
||||||
i = 0;
|
i = 0;
|
||||||
count_file = malloc(4096);
|
count_file = malloc(4096);
|
||||||
@ -388,7 +388,7 @@
|
|||||||
cmd_system = atr&11b;
|
cmd_system = atr&11b;
|
||||||
if(BDVK.isfolder)
|
if(BDVK.isfolder)
|
||||||
{
|
{
|
||||||
tmp_buf = dir_buffer(PATH,DIR_ONLYREAL);
|
tmp_buf = dir.load(PATH,DIR_ONLYREAL);
|
||||||
count_dir = dir.count;
|
count_dir = dir.count;
|
||||||
i = 0;
|
i = 0;
|
||||||
count_file = malloc(4096);
|
count_file = malloc(4096);
|
||||||
@ -431,7 +431,7 @@
|
|||||||
{
|
{
|
||||||
sprintf(_path_,"%s/%s",PATH1,path.file(PATH));
|
sprintf(_path_,"%s/%s",PATH1,path.file(PATH));
|
||||||
dir.make(_path_);
|
dir.make(_path_);
|
||||||
tmp_buf = dir_buffer(PATH,DIR_ONLYREAL);
|
tmp_buf = dir.load(PATH,DIR_ONLYREAL);
|
||||||
count_dir = dir.count;
|
count_dir = dir.count;
|
||||||
i = 0;
|
i = 0;
|
||||||
count_file = malloc(4096);
|
count_file = malloc(4096);
|
||||||
|
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
char os_name[8] = {'M','E','N','U','E','T','0','1'};
|
char os_name[8] = {'M','E','N','U','E','T','0','1'};
|
||||||
dword os_version = 0x00000001;
|
dword os_version = 0x00000001;
|
||||||
dword start_addr = #load_init_main;
|
dword start_addr = #______INIT______;
|
||||||
dword final_addr = #stop+32;
|
dword final_addr = #______STOP______+32;
|
||||||
dword alloc_mem = MEMSIZE;
|
dword alloc_mem = MEMSIZE;
|
||||||
dword x86esp_reg = MEMSIZE;
|
dword x86esp_reg = MEMSIZE;
|
||||||
dword I_Param = #param;
|
dword I_Param = #param;
|
||||||
@ -932,21 +932,25 @@ inline fastcall dword GetStartTime()
|
|||||||
//DSBYTE[BUF1] = 0;
|
//DSBYTE[BUF1] = 0;
|
||||||
DSBYTE[BUF] = 0;
|
DSBYTE[BUF] = 0;
|
||||||
}
|
}
|
||||||
|
char __BUF_DIR__[4096];
|
||||||
|
:struct SELF
|
||||||
|
{
|
||||||
|
dword dir;
|
||||||
|
dword file;
|
||||||
|
dword path;
|
||||||
|
} self;
|
||||||
|
|
||||||
dword __generator; // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
|
dword __generator; // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
|
||||||
|
|
||||||
:dword program_path_length;
|
:dword program_path_length;
|
||||||
|
|
||||||
char __BUF_DIR__[4096];
|
|
||||||
|
|
||||||
dword __DIR__;
|
|
||||||
|
|
||||||
//The initialization of the initial data before running
|
//The initialization of the initial data before running
|
||||||
void load_init_main()
|
void ______INIT______()
|
||||||
{
|
{
|
||||||
__DIR__ = #__BUF_DIR__;
|
self.dir = #__BUF_DIR__;
|
||||||
|
self.file = 0;
|
||||||
__path_name__(__DIR__,I_Path);
|
self.path = I_Path;
|
||||||
|
__path_name__(#__BUF_DIR__,I_Path);
|
||||||
|
|
||||||
SKIN.height = GetSkinHeight();
|
SKIN.height = GetSkinHeight();
|
||||||
screen.width = GetScreenWidth();
|
screen.width = GetScreenWidth();
|
||||||
@ -958,5 +962,5 @@ void load_init_main()
|
|||||||
//mem_Init();
|
//mem_Init();
|
||||||
main();
|
main();
|
||||||
}
|
}
|
||||||
|
______STOP______:
|
||||||
#endif
|
#endif
|
Loading…
Reference in New Issue
Block a user