diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2009-03-23 09:18:55 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2009-03-23 09:18:55 (GMT) |
commit | e5fcad302d86d316390c6b0f62759a067313e8a9 (patch) | |
tree | c2afbf6f1066b6ce261f14341cf6d310e5595bc1 /tools/installer/nsis/includes/list.nsh | |
download | Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.zip Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.gz Qt-e5fcad302d86d316390c6b0f62759a067313e8a9.tar.bz2 |
Long live Qt 4.5!
Diffstat (limited to 'tools/installer/nsis/includes/list.nsh')
-rw-r--r-- | tools/installer/nsis/includes/list.nsh | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/tools/installer/nsis/includes/list.nsh b/tools/installer/nsis/includes/list.nsh new file mode 100644 index 0000000..c553f67 --- /dev/null +++ b/tools/installer/nsis/includes/list.nsh @@ -0,0 +1,139 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +;; Contact: Qt Software Information (qt-info@nokia.com) +;; +;; This file is part of the tools applications of the Qt Toolkit. +;; +;; $QT_BEGIN_LICENSE:LGPL$ +;; No Commercial Usage +;; This file contains pre-release code and may not be distributed. +;; You may use this file in accordance with the terms and conditions +;; contained in the either Technology Preview License Agreement or the +;; Beta Release License Agreement. +;; +;; GNU Lesser General Public License Usage +;; Alternatively, this file may be used under the terms of the GNU Lesser +;; General Public License version 2.1 as published by the Free Software +;; Foundation and appearing in the file LICENSE.LGPL included in the +;; packaging of this file. Please review the following information to +;; ensure the GNU Lesser General Public License version 2.1 requirements +;; will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +;; +;; In addition, as a special exception, Nokia gives you certain +;; additional rights. These rights are described in the Nokia Qt LGPL +;; Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this +;; package. +;; +;; GNU General Public License Usage +;; Alternatively, this file may be used under the terms of the GNU +;; General Public License version 3.0 as published by the Free Software +;; Foundation and appearing in the file LICENSE.GPL included in the +;; packaging of this file. Please review the following information to +;; ensure the GNU General Public License version 3.0 requirements will be +;; met: http://www.gnu.org/copyleft/gpl.html. +;; +;; If you are unsure which license is appropriate for your use, please +;; contact the sales department at qt-sales@nokia.com. +;; $QT_END_LICENSE$ +;; +;; This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +;; WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +!ifndef LIST_INCLUDE +!define LIST_INCLUDE + +; usage: +; push item +; push list +; call ItemInList +; returns 1 or 0 +!macro ItemInList UN +Function ${UN}ItemInList + exch $0 ;list + exch + exch $1 ;item + push $2 ;counter + push $3 ;substr + push $4 ;char + + strcpy $3 "" + strcpy $2 "0" + + loop: + strcpy $4 $0 1 $2 + strcmp "$4" "" atend + intop $2 $2 + 1 + + strcmp "$4" "|" 0 +4 + strcmp "$3" "$1" found + strcpy $3 "" ;reset substr + goto +2 + strcpy $3 "$3$4" ;append char to substr + goto loop + + found: + strcpy $0 "1" + goto done + + atend: + strcmp "$3" "$1" found + strcpy $0 "0" + + done: + pop $4 + pop $3 + pop $2 + pop $1 + exch $0 +FunctionEnd +!macroend + +!insertmacro ItemInList "" +!insertmacro ItemInList "un." + +Function GetItemInList + exch $0 ;list + exch + exch $1 ;index + push $2 ;counter + push $3 ;substr + push $4 ;char + push $5 ;current index + + strcpy $3 "" + strcpy $2 "0" + strcpy $5 "1" + + loop: + strcpy $4 $0 1 $2 + strcmp "$4" "" atend + intop $2 $2 + 1 + + strcmp "$4" "|" 0 +5 + strcmp "$5" "$1" found + strcpy $3 "" ;reset substr + intop $5 $5 + 1 + goto +2 + strcpy $3 "$3$4" ;append char to substr + goto loop + + found: + strcpy $0 "$3" + goto done + + atend: + strcmp "$5" "$1" found + strcpy $0 "" + + done: + pop $5 + pop $4 + pop $3 + pop $2 + pop $1 + exch $0 +FunctionEnd + +!endif ;LIST_INCLUDE
\ No newline at end of file |