X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/d83803733e0994c59ed12d7b6b4acf2ea55a5f10..8d20f0f1540c4c116f52e333edc57a4f549927e8:/libcycript.sh diff --git a/libcycript.sh b/libcycript.sh new file mode 100755 index 0000000..1ff3ace --- /dev/null +++ b/libcycript.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# Cycript - Optimizing JavaScript Compiler/Runtime +# Copyright (C) 2009-2015 Jay Freeman (saurik) + +# GNU Affero General Public License, Version 3 {{{ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# }}} + +set -e + +sys=$1 +sql=$2 + +rm -f "${sql}" +echo "create table cache (name text not null, system int not null, value text not null, primary key (name, system));" | sqlite3 "${sql}" + +def=$3 +if [[ -n "${def}" ]]; then + { echo "begin;"; cat "$def"; echo "commit;"; } | sed -e 's/^\([^|]*\)|\"\(.*\)\"$/insert into cache (name, system, value) values (<<\1>>, '"$sys"', <<\2>>);/;s/'"'"'/'"'"''"'"'/g;s/\(<<\|>>\)/'"'"'/g' | sqlite3 "${sql}" +fi