Subversion Repositories Kolibri OS

Rev

Rev 509 | Rev 513 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 509 Rev 512
Line 5... Line 5...
5
;
5
;
6
;     SPraid
6
;     SPraid
7
;
7
;
8
;-------------------------------------------------------------------------
8
;-------------------------------------------------------------------------
Line -... Line 9...
-
 
9
 
-
 
10
full_file_name_table dd 0		; 㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï â ¡«¨æë ¯ã⥩ 4Š   § ¯¨áì 64 (32 - áâப  è ¡«®­ ¤«ï ¯®¨áª , 32 - áâப  è ¡«®­ ¤«ï § ¬¥­ë)
9
 
11
 
10
; ¯¥à¥¡¨à ¥â ¯® ä ©«ã ¢ à¨ ­âë § ¬¥­
12
; ¯¥à¥¡¨à ¥â ¯® ä ©«ã ¢ à¨ ­âë § ¬¥­
11
proc full_file_name stdcall,sourc,dest
13
proc full_file_name stdcall,sourc,dest
12
locals
-
 
13
  param  rb 60
-
 
14
  val    rb 60
14
locals
15
  tmpsrc rb 60	; ¢à¥¬¥­­®¥ åà ­¥­¨¥ ¯à¥®¡à §®¢ ­¨ï
15
  tmpsrc rb 60	; ¢à¥¬¥­­®¥ åà ­¥­¨¥ ¯à¥®¡à §®¢ ­¨ï
16
endl
16
endl
17
  pushad
-
 
18
 
-
 
19
 
17
  pushad
20
  mov esi,[sourc]
-
 
21
;  mov edi,ebp
-
 
22
;  add edi,tmpsrc-ebp
18
  mov esi,[sourc]
Line 23... Line 19...
23
   lea edi, [tmpsrc]
19
  lea edi, [tmpsrc]
24
 
20
 
25
@@:
21
@@:
Line 39... Line 35...
39
 @use_replace:
35
 @use_replace:
Line 40... Line 36...
40
 
36
 
41
  xor eax,eax
37
  xor eax,eax
42
.loop:
38
.loop:
43
  push eax
-
 
44
;  mov ebx,ebp
-
 
45
;  add ebx,param-ebp
-
 
46
;  mov ecx,ebp
-
 
47
;  add ecx,val-ebp
-
 
48
  lea ebx, [param]
-
 
49
  lea ecx, [val]
-
 
Line -... Line 39...
-
 
39
  push eax
-
 
40
  
-
 
41
  imul eax,eax,64
-
 
42
  add eax,[full_file_name_table] 
-
 
43
  mov ebx,eax
50
  invoke ini.get_par,sect, ebx, ecx, eax
44
  add eax,32
51
 
45
  
52
  mov bl,[param]
46
  mov cl,[ebx]
Line 53... Line -...
53
  or bl,bl
-
 
54
  jz .done
-
 
55
 
-
 
56
;  mov eax,ebp
-
 
57
;  add eax,tmpsrc-ebp
-
 
58
;  mov ebx,ebp
-
 
59
;  add ebx,param-ebp
47
  or cl,cl
60
;  mov ecx,ebp
-
 
61
;  add ecx,val-ebp
-
 
62
  lea eax, [tmpsrc]
48
  jz .done
Line 63... Line 49...
63
  lea ebx, [param]
49
 
Line 64... Line 50...
64
  lea ecx, [val]
50
  lea ecx, [tmpsrc]
65
  mov edx,[dest]
-
 
66
 
-
 
67
  stdcall full_file_name_parse, eax,edx,ebx,ecx
51
  mov edx,[dest]
68
 
52
 
69
  mov esi,[dest]
53
  stdcall full_file_name_parse, ecx,edx,ebx,eax
70
;  mov edi,ebp
54
 
71
;  add edi,tmpsrc-ebp
55
  mov esi,[dest]
Line 82... Line 66...
82
 
66
 
83
.done:
67
.done:
84
  pop eax
68
  pop eax
Line 85... Line -...
85
full_file_name_exit:
-
 
86
 
-
 
87
;  mov eax,ebp
69
full_file_name_exit:
88
;  add eax,tmpsrc-ebp
70
 
89
  lea eax, [tmpsrc]
71
  lea eax, [tmpsrc]
90
  stdcall full_file_name_parse , eax , [dest], sysdir_ , sys_path
72
  stdcall full_file_name_parse , eax , [dest], sysdir_ , sys_path
91
  popad
73
  popad
Line 92... Line -...
92
  ret
-
 
93
endp
-
 
94
 
74
  ret
95
sect: db 'path',0
75
endp
96
 
76
 
97
;
77
;
98
;  à¥®¡à §®¢ âì ¨¬ï ¢ ¯®«­®¥. …᫨ ¢ ­ ç «¥ á⮨â
78
;  à¥®¡à §®¢ âì ¨¬ï ¢ ¯®«­®¥. …᫨ ¢ ­ ç «¥ á⮨â
Line 188... Line 168...
188
 
168
 
189
.done:
169
.done:
190
  popad
170
  popad
Line -... Line 171...
-
 
171
  ret
-
 
172
  
-
 
173
proc load_file_parse_table
-
 
174
  pushad
-
 
175
  stdcall kernel_alloc,0x1000
-
 
176
  mov [full_file_name_table],eax
-
 
177
 
-
 
178
  invoke ini.enum_keys,conf_fname,conf_path_sect,get_every_key
-
 
179
  
-
 
180
  mov eax,[loading_counter]
-
 
181
  imul eax,eax,64
-
 
182
  add eax,[full_file_name_table]
-
 
183
  mov [eax],byte 0
-
 
184
  popad
-
 
185
  ret
-
 
186
endp
-
 
187
 
-
 
188
loading_counter dd 0
-
 
189
def_val_1 db 0
-
 
190
 
-
 
191
proc get_every_key stdcall,f_name, sec_name, key_name
-
 
192
  pushad
-
 
193
  mov esi,[key_name]
-
 
194
  mov edi,[loading_counter]
-
 
195
  imul edi,edi,64
-
 
196
  add edi,[full_file_name_table]
-
 
197
@@:
-
 
198
  lodsb
-
 
199
  stosb
-
 
200
  or al,al
-
 
201
  jnz	@b
-
 
202
 
-
 
203
  mov eax,[loading_counter]
-
 
204
  imul eax,eax,64
-
 
205
  add eax,[full_file_name_table]
-
 
206
  add eax,32
-
 
207
  mov ebx,[key_name]
-
 
208
  invoke ini.get_str,conf_fname,conf_path_sect,ebx,eax,32,def_val_1
-
 
209
 
-
 
210
  inc dword [loading_counter]
-
 
211
  
-
 
212
  popad
-
 
213
  mov eax,1
-
 
214
  ret