strtok helper function
[openwrt-10.03/.git] / package / base-files / default / etc / functions.sh
index 2abb6f81c9079c9ea586901bd095b638906b1b9a..aa5b000644d8d0fcd5426116e8f3a46e5c0d6b1a 100755 (executable)
@@ -77,6 +77,7 @@ config_clear() {
 }
 
 config_load() {
+       CONFIG_SECTION=
        local DIR="./"
        _C=0
        [ \! -e "$1" -a -e "/etc/config/$1" ] && {
@@ -110,3 +111,34 @@ include() {
                . $file
        done
 }
+
+find_mtd_part() {
+       local PART="$(grep "\"$1\"" /proc/mtd | awk -F: '{print $1}')"
+       PART="${PART##mtd}"
+       echo "${PART:+/dev/mtdblock/$PART}"
+}
+
+strtok() { # <string> <variable> [<separator>] ...
+       local right
+       local left="$1"
+       local count=0
+
+       shift
+
+       while [ $# -gt 1 ]; do
+               right="${left%%$2*}"
+
+               [ "$right" = "$left" ] && break
+
+               left="${left#$right$2}"
+
+               export $1="$right"; count=$((count+1))
+               shift 2
+       done
+
+       if [ $# -gt 0 -a "$left" ]; then
+               export $1="$left"; count=$((count+1))
+       fi
+
+       return $count
+}