
___x_cmd_url___main(){
    [ "$#" -gt 0 ] || {
        x help -m url
        return 1
    }

    local op="$1";  shift
    case "$op" in
        enc)        ___x_cmd_url_enc "$@" ;;
        dec)        ___x_cmd_url_dec "$@" ;;

        encode)     ___x_cmd_url_encode "$@" ;;
        decode)     ___x_cmd_url_decode "$@" ;;

        -h|--help)
                    x help -m url ;;
    esac
}

___x_cmd_url___arg(){
    if [ "$#" -eq 0 ]; then     ___x_cmd_cmds_cat
    else
        local IFS="$___X_CMD_UNSEENCHAR_NEWLINE"
        printf "%s\n" "$*"
    fi
}

___x_cmd_url_encode(){
    ___x_cmd_url___arg "$@" | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk \
        -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk" \
        -f "$___X_CMD_ROOT_MOD/awk/lib/url.awk" \
        -f "$___X_CMD_ROOT_MOD/url/lib/awk/encode.awk"
}

___x_cmd_url_decode(){
    ___x_cmd_url___arg "$@" | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk \
        -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk" \
        -f "$___X_CMD_ROOT_MOD/awk/lib/url.awk" \
        -f "$___X_CMD_ROOT_MOD/url/lib/awk/decode.awk"
}

___x_cmd_url_enc(){
    ___x_cmd_url___arg "$@" | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk \
        -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk" \
        -f "$___X_CMD_ROOT_MOD/awk/lib/url.awk" \
        -f "$___X_CMD_ROOT_MOD/url/lib/awk/enc.awk"
}

___x_cmd_url_dec(){
    ___x_cmd_url___arg "$@" | LC_ALL="$___X_CMD_LOCALE_DEF_C" ___x_cmd_cmds_awk \
        -f "$___X_CMD_ROOT_MOD/awk/lib/core.awk" \
        -f "$___X_CMD_ROOT_MOD/awk/lib/url.awk" \
        -f "$___X_CMD_ROOT_MOD/url/lib/awk/dec.awk"
}

