add parameter dcerpc_info to PIDL_dissect_ipv?address()
[wireshark-wip.git] / packaging / nsis / VersionCompare.nsh
blobd2cfe75b8be2edd7f10391d029cadcb15418d9d8
2 ; VersionCompare - Compare Windows version numbers
4 ; Copied from http://nsis.sourceforge.net/VersionCompare
6 ; By Instructor (http://nsis.sourceforge.net/User:Instructor)
8 Function VersionCompare
9         !define VersionCompare `!insertmacro VersionCompareCall`
11         !macro VersionCompareCall _VER1 _VER2 _RESULT
12                 Push `${_VER1}`
13                 Push `${_VER2}`
14                 Call VersionCompare
15                 Pop ${_RESULT}
16         !macroend
18         Exch $1
19         Exch
20         Exch $0
21         Exch
22         Push $2
23         Push $3
24         Push $4
25         Push $5
26         Push $6
27         Push $7
29         begin:
30         StrCpy $2 -1
31         IntOp $2 $2 + 1
32         StrCpy $3 $0 1 $2
33         StrCmp $3 '' +2
34         StrCmp $3 '.' 0 -3
35         StrCpy $4 $0 $2
36         IntOp $2 $2 + 1
37         StrCpy $0 $0 '' $2
39         StrCpy $2 -1
40         IntOp $2 $2 + 1
41         StrCpy $3 $1 1 $2
42         StrCmp $3 '' +2
43         StrCmp $3 '.' 0 -3
44         StrCpy $5 $1 $2
45         IntOp $2 $2 + 1
46         StrCpy $1 $1 '' $2
48         StrCmp $4$5 '' equal
50         StrCpy $6 -1
51         IntOp $6 $6 + 1
52         StrCpy $3 $4 1 $6
53         StrCmp $3 '0' -2
54         StrCmp $3 '' 0 +2
55         StrCpy $4 0
57         StrCpy $7 -1
58         IntOp $7 $7 + 1
59         StrCpy $3 $5 1 $7
60         StrCmp $3 '0' -2
61         StrCmp $3 '' 0 +2
62         StrCpy $5 0
64         StrCmp $4 0 0 +2
65         StrCmp $5 0 begin newer2
66         StrCmp $5 0 newer1
67         IntCmp $6 $7 0 newer1 newer2
69         StrCpy $4 '1$4'
70         StrCpy $5 '1$5'
71         IntCmp $4 $5 begin newer2 newer1
73         equal:
74         StrCpy $0 0
75         goto end
76         newer1:
77         StrCpy $0 1
78         goto end
79         newer2:
80         StrCpy $0 2
82         end:
83         Pop $7
84         Pop $6
85         Pop $5
86         Pop $4
87         Pop $3
88         Pop $2
89         Pop $1
90         Exch $0
91 FunctionEnd