diff options
Diffstat (limited to 'package/base-files/default/etc/functions.sh')
-rwxr-xr-x | package/base-files/default/etc/functions.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/package/base-files/default/etc/functions.sh b/package/base-files/default/etc/functions.sh index f7cb878bc..aa5b00064 100755 --- a/package/base-files/default/etc/functions.sh +++ b/package/base-files/default/etc/functions.sh @@ -118,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 +} |