strtok helper function
[openwrt-10.03/.git] / package / base-files / default / etc / functions.sh
index bf87548ca53c8ad83feee2edbccfd6f09ee37ca6..aa5b000644d8d0fcd5426116e8f3a46e5c0d6b1a 100755 (executable)
@@ -77,6 +77,7 @@ config_clear() {
 }
 
 config_load() {
+       CONFIG_SECTION=
        local DIR="./"
        _C=0
        [ \! -e "$1" -a -e "/etc/config/$1" ] && {
@@ -117,3 +118,27 @@ find_mtd_part() {
        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
+}