Statistiques
| Révision :

root / tmp / org.txm.setups / nsis-2.5 / Examples / TextFuncTest.nsi @ 3115

Historique | Voir | Annoter | Télécharger (8,87 ko)

1 2961 mdecorde
;_____________________________________________________________________________
2 2961 mdecorde
;
3 2961 mdecorde
;                          Text Functions Test
4 2961 mdecorde
;_____________________________________________________________________________
5 2961 mdecorde
;
6 2961 mdecorde
; 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru)
7 2961 mdecorde
8 2961 mdecorde
Name "Text Functions Test"
9 2961 mdecorde
OutFile "TextFuncTest.exe"
10 2961 mdecorde
Caption "$(^Name)"
11 2961 mdecorde
ShowInstDetails show
12 2961 mdecorde
XPStyle on
13 2961 mdecorde
RequestExecutionLevel user
14 2961 mdecorde
15 2961 mdecorde
Var FUNCTION
16 2961 mdecorde
Var TEMPFILE1
17 2961 mdecorde
Var TEMPFILE2
18 2961 mdecorde
Var TEMPFILE3
19 2961 mdecorde
Var HANDLE
20 2961 mdecorde
Var OUT
21 2961 mdecorde
22 2961 mdecorde
!include "TextFunc.nsh"
23 2961 mdecorde
24 2961 mdecorde
;############### INSTALL ###############
25 2961 mdecorde
26 2961 mdecorde
!define StackVerificationStart `!insertmacro StackVerificationStart`
27 2961 mdecorde
!macro StackVerificationStart _FUNCTION
28 2961 mdecorde
	StrCpy $FUNCTION ${_FUNCTION}
29 2961 mdecorde
	Call StackVerificationStart
30 2961 mdecorde
!macroend
31 2961 mdecorde
32 2961 mdecorde
!define StackVerificationEnd `!insertmacro StackVerificationEnd`
33 2961 mdecorde
!macro StackVerificationEnd
34 2961 mdecorde
	Call StackVerificationEnd
35 2961 mdecorde
!macroend
36 2961 mdecorde
37 2961 mdecorde
Function StackVerificationStart
38 2961 mdecorde
	StrCpy $0 !0
39 2961 mdecorde
	StrCpy $1 !1
40 2961 mdecorde
	StrCpy $2 !2
41 2961 mdecorde
	StrCpy $3 !3
42 2961 mdecorde
	StrCpy $4 !4
43 2961 mdecorde
	StrCpy $5 !5
44 2961 mdecorde
	StrCpy $6 !6
45 2961 mdecorde
	StrCpy $7 !7
46 2961 mdecorde
	StrCpy $8 !8
47 2961 mdecorde
	StrCpy $9 !9
48 2961 mdecorde
	StrCpy $R0 !R0
49 2961 mdecorde
	StrCpy $R1 !R1
50 2961 mdecorde
	StrCpy $R2 !R2
51 2961 mdecorde
	StrCpy $R3 !R3
52 2961 mdecorde
	StrCpy $R4 !R4
53 2961 mdecorde
	StrCpy $R5 !R5
54 2961 mdecorde
	StrCpy $R6 !R6
55 2961 mdecorde
	StrCpy $R7 !R7
56 2961 mdecorde
	StrCpy $R8 !R8
57 2961 mdecorde
	StrCpy $R9 !R9
58 2961 mdecorde
FunctionEnd
59 2961 mdecorde
60 2961 mdecorde
Function StackVerificationEnd
61 2961 mdecorde
	IfErrors +3
62 2961 mdecorde
	DetailPrint 'PASSED $FUNCTION no errors'
63 2961 mdecorde
	goto +2
64 2961 mdecorde
	DetailPrint 'FAILED   $FUNCTION error'
65 2961 mdecorde
66 2961 mdecorde
	StrCmp $0 '!0' 0 error
67 2961 mdecorde
	StrCmp $1 '!1' 0 error
68 2961 mdecorde
	StrCmp $2 '!2' 0 error
69 2961 mdecorde
	StrCmp $3 '!3' 0 error
70 2961 mdecorde
	StrCmp $4 '!4' 0 error
71 2961 mdecorde
	StrCmp $5 '!5' 0 error
72 2961 mdecorde
	StrCmp $6 '!6' 0 error
73 2961 mdecorde
	StrCmp $7 '!7' 0 error
74 2961 mdecorde
	StrCmp $8 '!8' 0 error
75 2961 mdecorde
	StrCmp $9 '!9' 0 error
76 2961 mdecorde
	StrCmp $R0 '!R0' 0 error
77 2961 mdecorde
	StrCmp $R1 '!R1' 0 error
78 2961 mdecorde
	StrCmp $R2 '!R2' 0 error
79 2961 mdecorde
	StrCmp $R3 '!R3' 0 error
80 2961 mdecorde
	StrCmp $R4 '!R4' 0 error
81 2961 mdecorde
	StrCmp $R5 '!R5' 0 error
82 2961 mdecorde
	StrCmp $R6 '!R6' 0 error
83 2961 mdecorde
	StrCmp $R7 '!R7' 0 error
84 2961 mdecorde
	StrCmp $R8 '!R8' 0 error
85 2961 mdecorde
	StrCmp $R9 '!R9' 0 error
86 2961 mdecorde
	DetailPrint 'PASSED $FUNCTION stack'
87 2961 mdecorde
	goto end
88 2961 mdecorde
89 2961 mdecorde
	error:
90 2961 mdecorde
	DetailPrint 'FAILED   $FUNCTION stack'
91 2961 mdecorde
;	MessageBox MB_OKCANCEL '$$0={$0}$\n$$1={$1}$\n$$2={$2}$\n$$3={$3}$\n$$4={$4}$\n$$5={$5}$\n$$6={$6}$\n$$7={$7}$\n$$8={$8}$\n$$9={$9}$\n$$R0={$R0}$\n$$R1={$R1}$\n$$R2={$R2}$\n$$R3={$R3}$\n$$R4={$R4}$\n$$R5={$R5}$\n$$R6={$R6}$\n$$R7={$R7}$\n$$R8={$R8}$\n$$R9={$R9}' IDOK +2
92 2961 mdecorde
;	quit
93 2961 mdecorde
94 2961 mdecorde
	end:
95 2961 mdecorde
FunctionEnd
96 2961 mdecorde
97 2961 mdecorde
98 2961 mdecorde
99 2961 mdecorde
Section CreateTestFile
100 2961 mdecorde
	GetTempFileName $TEMPFILE1
101 2961 mdecorde
	FileOpen $HANDLE $TEMPFILE1 w
102 2961 mdecorde
	FileWrite $HANDLE '1A=a$\r$\n'
103 2961 mdecorde
	FileWrite $HANDLE '2B=b$\r$\n'
104 2961 mdecorde
	FileWrite $HANDLE '3C=c$\r$\n'
105 2961 mdecorde
	FileWrite $HANDLE '4D=d$\r$\n'
106 2961 mdecorde
	FileWrite $HANDLE '5E=e$\r$\n'
107 2961 mdecorde
	FileClose $HANDLE
108 2961 mdecorde
	GetTempFileName $TEMPFILE2
109 2961 mdecorde
	GetTempFileName $TEMPFILE3
110 2961 mdecorde
SectionEnd
111 2961 mdecorde
112 2961 mdecorde
113 2961 mdecorde
Section LineFind
114 2961 mdecorde
	${StackVerificationStart} LineFind
115 2961 mdecorde
116 2961 mdecorde
	${LineFind} '$TEMPFILE1' '/NUL' '1:-4 3 -1' 'LineFindCallback1'
117 2961 mdecorde
	IfErrors error
118 2961 mdecorde
	StrCmp $OUT '|1:2|-5|1|1A=a$\r$\n|1:2|-4|2|2B=b$\r$\n|3:3|-3|3|3C=c$\r$\n' 0 error
119 2961 mdecorde
120 2961 mdecorde
	StrCpy $OUT ''
121 2961 mdecorde
	SetDetailsPrint none
122 2961 mdecorde
	${LineFind} '$TEMPFILE1' '$TEMPFILE2' '1:-1' 'LineFindCallback2'
123 2961 mdecorde
	SetDetailsPrint both
124 2961 mdecorde
	IfErrors error
125 2961 mdecorde
	StrCmp $OUT '|1:-1||1|1A=a$\r$\n|1:-1||2|4D=d$\r$\n|1:-1||3|3C=c$\r$\n|1:-1||4|2B=B$\r$\n|1:-1||5|5E=e$\r$\n' 0 error
126 2961 mdecorde
127 2961 mdecorde
	goto +2
128 2961 mdecorde
	error:
129 2961 mdecorde
	SetErrors
130 2961 mdecorde
131 2961 mdecorde
	${StackVerificationEnd}
132 2961 mdecorde
SectionEnd
133 2961 mdecorde
134 2961 mdecorde
Function LineFindCallback1
135 2961 mdecorde
	StrCpy $OUT '$OUT|$R6|$R7|$R8|$R9'
136 2961 mdecorde
	StrCmp $R8 3 0 +2
137 2961 mdecorde
	StrCpy $0 StopLineFind
138 2961 mdecorde
139 2961 mdecorde
	Push $0
140 2961 mdecorde
FunctionEnd
141 2961 mdecorde
142 2961 mdecorde
Function LineFindCallback2
143 2961 mdecorde
	StrCmp $R8 2 0 +2
144 2961 mdecorde
	StrCpy $R9 '4D=d$\r$\n'
145 2961 mdecorde
	StrCmp $R8 4 0 +2
146 2961 mdecorde
	StrCpy $R9 '2B=B$\r$\n'
147 2961 mdecorde
148 2961 mdecorde
	StrCpy $OUT '$OUT|$R6|$R7|$R8|$R9'
149 2961 mdecorde
150 2961 mdecorde
	Push $0
151 2961 mdecorde
FunctionEnd
152 2961 mdecorde
153 2961 mdecorde
154 2961 mdecorde
Section LineRead
155 2961 mdecorde
	${StackVerificationStart} LineRead
156 2961 mdecorde
157 2961 mdecorde
	${LineRead} '$TEMPFILE1' '-1' $OUT
158 2961 mdecorde
	IfErrors error
159 2961 mdecorde
	StrCmp $OUT '5E=e$\r$\n' 0 error
160 2961 mdecorde
161 2961 mdecorde
	goto +2
162 2961 mdecorde
	error:
163 2961 mdecorde
	SetErrors
164 2961 mdecorde
165 2961 mdecorde
	${StackVerificationEnd}
166 2961 mdecorde
SectionEnd
167 2961 mdecorde
168 2961 mdecorde
169 2961 mdecorde
Section FileReadFromEnd
170 2961 mdecorde
	${StackVerificationStart} FileReadFromEnd
171 2961 mdecorde
172 2961 mdecorde
	StrCpy $OUT ''
173 2961 mdecorde
	${FileReadFromEnd} '$TEMPFILE1' 'FileReadFromEndCallback'
174 2961 mdecorde
	IfErrors error
175 2961 mdecorde
	StrCmp $OUT '|-1|5|5E=e$\r$\n|-2|4|4D=d$\r$\n|-3|3|3C=c$\r$\n|-4|2|2B=b$\r$\n' 0 error
176 2961 mdecorde
177 2961 mdecorde
	goto +2
178 2961 mdecorde
	error:
179 2961 mdecorde
	SetErrors
180 2961 mdecorde
181 2961 mdecorde
	${StackVerificationEnd}
182 2961 mdecorde
SectionEnd
183 2961 mdecorde
184 2961 mdecorde
Function FileReadFromEndCallback
185 2961 mdecorde
	StrCpy $OUT '$OUT|$7|$8|$9'
186 2961 mdecorde
	StrCmp $8 2 0 +2
187 2961 mdecorde
	StrCpy $0 StopFileReadFromEnd
188 2961 mdecorde
189 2961 mdecorde
	Push $0
190 2961 mdecorde
FunctionEnd
191 2961 mdecorde
192 2961 mdecorde
193 2961 mdecorde
Section LineSum
194 2961 mdecorde
	${StackVerificationStart} LineSum
195 2961 mdecorde
196 2961 mdecorde
	${LineSum} '$TEMPFILE1' $OUT
197 2961 mdecorde
	IfErrors error
198 2961 mdecorde
	StrCmp $OUT '5' 0 error
199 2961 mdecorde
200 2961 mdecorde
	goto +2
201 2961 mdecorde
	error:
202 2961 mdecorde
	SetErrors
203 2961 mdecorde
204 2961 mdecorde
	${StackVerificationEnd}
205 2961 mdecorde
SectionEnd
206 2961 mdecorde
207 2961 mdecorde
208 2961 mdecorde
Section FileJoin
209 2961 mdecorde
	${StackVerificationStart} FileJoin
210 2961 mdecorde
211 2961 mdecorde
	SetDetailsPrint none
212 2961 mdecorde
	${FileJoin} '$TEMPFILE1' '$TEMPFILE2' '$TEMPFILE3'
213 2961 mdecorde
	SetDetailsPrint both
214 2961 mdecorde
215 2961 mdecorde
	${StackVerificationEnd}
216 2961 mdecorde
SectionEnd
217 2961 mdecorde
218 2961 mdecorde
219 2961 mdecorde
Section TextCompare
220 2961 mdecorde
	${StackVerificationStart} TextCompare
221 2961 mdecorde
222 2961 mdecorde
	StrCpy $OUT ''
223 2961 mdecorde
	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'TextCompareCallback'
224 2961 mdecorde
	StrCmp $OUT '|2|4D=d$\r$\n|2|2B=b$\r$\n|4|2B=B$\r$\n|4|4D=d$\r$\n' 0 error
225 2961 mdecorde
226 2961 mdecorde
	StrCpy $OUT ''
227 2961 mdecorde
	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastEqual' 'TextCompareCallback'
228 2961 mdecorde
	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
229 2961 mdecorde
230 2961 mdecorde
	StrCpy $OUT ''
231 2961 mdecorde
	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'SlowDiff' 'TextCompareCallback'
232 2961 mdecorde
	StrCmp $OUT '' 0 error
233 2961 mdecorde
234 2961 mdecorde
	StrCpy $OUT ''
235 2961 mdecorde
	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'SlowEqual' 'TextCompareCallback'
236 2961 mdecorde
	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|4|2B=B$\r$\n|2|2B=b$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|2|4D=d$\r$\n|4|4D=d$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
237 2961 mdecorde
238 2961 mdecorde
	goto +2
239 2961 mdecorde
	error:
240 2961 mdecorde
	SetErrors
241 2961 mdecorde
242 2961 mdecorde
	${StackVerificationEnd}
243 2961 mdecorde
SectionEnd
244 2961 mdecorde
245 2961 mdecorde
Section TextCompareS
246 2961 mdecorde
	${StackVerificationStart} TextCompareS
247 2961 mdecorde
248 2961 mdecorde
	StrCpy $OUT ''
249 2961 mdecorde
	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'SlowDiff' 'TextCompareCallback'
250 2961 mdecorde
	StrCmp $OUT '|||2|2B=b$\r$\n' 0 error
251 2961 mdecorde
252 2961 mdecorde
	StrCpy $OUT ''
253 2961 mdecorde
	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'SlowEqual' 'TextCompareCallback'
254 2961 mdecorde
	StrCmp $OUT '|1|1A=a$\r$\n|1|1A=a$\r$\n|3|3C=c$\r$\n|3|3C=c$\r$\n|2|4D=d$\r$\n|4|4D=d$\r$\n|5|5E=e$\r$\n|5|5E=e$\r$\n' 0 error
255 2961 mdecorde
256 2961 mdecorde
	goto +2
257 2961 mdecorde
	error:
258 2961 mdecorde
	SetErrors
259 2961 mdecorde
260 2961 mdecorde
	${StackVerificationEnd}
261 2961 mdecorde
SectionEnd
262 2961 mdecorde
263 2961 mdecorde
Function TextCompareCallback
264 2961 mdecorde
	StrCpy $OUT '$OUT|$6|$7|$8|$9'
265 2961 mdecorde
266 2961 mdecorde
	Push $0
267 2961 mdecorde
FunctionEnd
268 2961 mdecorde
269 2961 mdecorde
270 2961 mdecorde
Section ConfigRead
271 2961 mdecorde
	${StackVerificationStart} ConfigRead
272 2961 mdecorde
273 2961 mdecorde
	${ConfigRead} '$TEMPFILE1' '3c=' $OUT
274 2961 mdecorde
	StrCmp $OUT 'c' 0 error
275 2961 mdecorde
276 2961 mdecorde
	${ConfigRead} '$TEMPFILE1' '6F=' $OUT
277 2961 mdecorde
	StrCmp $OUT '' 0 error
278 2961 mdecorde
279 2961 mdecorde
	${ConfigRead} '$TEMPFILE1' 'FF=' $OUT
280 2961 mdecorde
	IfErrors 0 error
281 2961 mdecorde
282 2961 mdecorde
	goto +2
283 2961 mdecorde
	error:
284 2961 mdecorde
	SetErrors
285 2961 mdecorde
286 2961 mdecorde
	${StackVerificationEnd}
287 2961 mdecorde
SectionEnd
288 2961 mdecorde
289 2961 mdecorde
290 2961 mdecorde
Section ConfigReadS
291 2961 mdecorde
	${StackVerificationStart} ConfigReadS
292 2961 mdecorde
293 2961 mdecorde
	${ConfigReadS} '$TEMPFILE1' '3C=' $OUT
294 2961 mdecorde
	StrCmp $OUT 'c' 0 error
295 2961 mdecorde
296 2961 mdecorde
	${ConfigReadS} '$TEMPFILE1' '3c=' $OUT
297 2961 mdecorde
	IfErrors 0 error
298 2961 mdecorde
	StrCmp $OUT '' 0 error
299 2961 mdecorde
300 2961 mdecorde
	goto +2
301 2961 mdecorde
	error:
302 2961 mdecorde
	SetErrors
303 2961 mdecorde
304 2961 mdecorde
	${StackVerificationEnd}
305 2961 mdecorde
SectionEnd
306 2961 mdecorde
307 2961 mdecorde
308 2961 mdecorde
Section ConfigWrite
309 2961 mdecorde
	${StackVerificationStart} ConfigWrite
310 2961 mdecorde
311 2961 mdecorde
	${ConfigWrite} '$TEMPFILE1' '5E=' 'e**' $OUT
312 2961 mdecorde
	StrCmp $OUT 'CHANGED' 0 error
313 2961 mdecorde
314 2961 mdecorde
	${ConfigWrite} '$TEMPFILE1' '2B=' '' $OUT
315 2961 mdecorde
	StrCmp $OUT 'DELETED' 0 error
316 2961 mdecorde
317 2961 mdecorde
	${ConfigWrite} '$TEMPFILE1' '3c=' 'c' $OUT
318 2961 mdecorde
	StrCmp $OUT 'SAME' 0 error
319 2961 mdecorde
320 2961 mdecorde
	${ConfigWrite} '$TEMPFILE1' '6F=' '*' $OUT
321 2961 mdecorde
	StrCmp $OUT 'ADDED' 0 error
322 2961 mdecorde
323 2961 mdecorde
	goto +2
324 2961 mdecorde
	error:
325 2961 mdecorde
	SetErrors
326 2961 mdecorde
327 2961 mdecorde
	${StackVerificationEnd}
328 2961 mdecorde
SectionEnd
329 2961 mdecorde
330 2961 mdecorde
331 2961 mdecorde
Section ConfigWriteS
332 2961 mdecorde
	${StackVerificationStart} ConfigWriteS
333 2961 mdecorde
334 2961 mdecorde
	${ConfigWriteS} '$TEMPFILE1' '5e=' 'e**' $OUT
335 2961 mdecorde
	StrCmp $OUT 'ADDED' 0 error
336 2961 mdecorde
337 2961 mdecorde
	goto +2
338 2961 mdecorde
	error:
339 2961 mdecorde
	SetErrors
340 2961 mdecorde
341 2961 mdecorde
	${StackVerificationEnd}
342 2961 mdecorde
SectionEnd
343 2961 mdecorde
344 2961 mdecorde
345 2961 mdecorde
Section FileRecode
346 2961 mdecorde
	${StackVerificationStart} FileRecode
347 2961 mdecorde
348 2961 mdecorde
	${FileRecode} '$TEMPFILE1' 'CharToOem'
349 2961 mdecorde
350 2961 mdecorde
	${StackVerificationEnd}
351 2961 mdecorde
SectionEnd
352 2961 mdecorde
353 2961 mdecorde
354 2961 mdecorde
Section TrimNewLines
355 2961 mdecorde
	${StackVerificationStart} TrimNewLines
356 2961 mdecorde
357 2961 mdecorde
	${TrimNewLines} 'Text Line$\r$\n' $OUT
358 2961 mdecorde
	StrCmp $OUT 'Text Line' 0 error
359 2961 mdecorde
360 2961 mdecorde
	${TrimNewLines} 'Text Line' $OUT
361 2961 mdecorde
	StrCmp $OUT 'Text Line' 0 error
362 2961 mdecorde
363 2961 mdecorde
	${TrimNewLines} 'Text Line$\n' $OUT
364 2961 mdecorde
	StrCmp $OUT 'Text Line' 0 error
365 2961 mdecorde
366 2961 mdecorde
	goto +2
367 2961 mdecorde
	error:
368 2961 mdecorde
	SetErrors
369 2961 mdecorde
370 2961 mdecorde
	${StackVerificationEnd}
371 2961 mdecorde
SectionEnd
372 2961 mdecorde
373 2961 mdecorde
374 2961 mdecorde
Section WriteUninstaller
375 2961 mdecorde
	SetDetailsPrint none
376 2961 mdecorde
	Delete $TEMPFILE1
377 2961 mdecorde
	Delete $TEMPFILE2
378 2961 mdecorde
	Delete $TEMPFILE3
379 2961 mdecorde
	SetDetailsPrint both
380 2961 mdecorde
	goto +2
381 2961 mdecorde
	WriteUninstaller '$EXEDIR\un.TextFuncTest.exe'
382 2961 mdecorde
SectionEnd
383 2961 mdecorde
384 2961 mdecorde
385 2961 mdecorde
386 2961 mdecorde
;############### UNINSTALL ###############
387 2961 mdecorde
388 2961 mdecorde
Section un.Uninstall
389 2961 mdecorde
	${LineFind} '$TEMPFILE1' '/NUL' '1:-1' 'un.LineFindCallback'
390 2961 mdecorde
	${LineRead} '$TEMPFILE1' '-1' $OUT
391 2961 mdecorde
	${FileReadFromEnd} '$TEMPFILE1' 'un.FileReadFromEndCallback'
392 2961 mdecorde
	${LineSum} '$TEMPFILE1' $OUT
393 2961 mdecorde
	${FileJoin} '$TEMPFILE1' '$TEMPFILE2' '$TEMPFILE3'
394 2961 mdecorde
	${TextCompare} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'un.TextCompareCallback'
395 2961 mdecorde
	${TextCompareS} '$TEMPFILE1' '$TEMPFILE2' 'FastDiff' 'un.TextCompareCallback'
396 2961 mdecorde
	${ConfigRead} '$TEMPFILE1' '3c=' $OUT
397 2961 mdecorde
	${ConfigReadS} '$TEMPFILE1' '3c=' $OUT
398 2961 mdecorde
	${ConfigWrite} '$TEMPFILE1' '5E=' 'e**' $OUT
399 2961 mdecorde
	${ConfigWriteS} '$TEMPFILE1' '5E=' 'e**' $OUT
400 2961 mdecorde
	${FileRecode} '$TEMPFILE1' 'CharToOem'
401 2961 mdecorde
	${TrimNewLines} 'Text Line$\r$\n' $OUT
402 2961 mdecorde
SectionEnd
403 2961 mdecorde
404 2961 mdecorde
Function un.LineFindCallback
405 2961 mdecorde
	Push $0
406 2961 mdecorde
FunctionEnd
407 2961 mdecorde
408 2961 mdecorde
Function un.FileReadFromEndCallback
409 2961 mdecorde
	Push $0
410 2961 mdecorde
FunctionEnd
411 2961 mdecorde
412 2961 mdecorde
Function un.TextCompareCallback
413 2961 mdecorde
	Push $0
414 2961 mdecorde
FunctionEnd