# shellcheck shell=dash

___x_cmd_shim__gen_batcode_local_(){
    x_="@echo off
"
    while [ $# -gt 0 ]; do
        case "$1" in
            --) shift; break ;;
            *)  x_="$x_
set $1"; shift 1
        esac
    done

    local x_path=; ___x_cmd_shim__gen_batcode_unix_to_windows "$1" || return
    x_="$x_
\"$x_path\" %*"
}


___x_cmd_shim__gen_batcode_varset_(){
    local varname=; local varpath=; local x_path=; local tmp=
    x_="@echo off
"

    while [ $# -gt 0 ]; do
        case "$1" in
            --) shift; break ;;
            *)
                [ -n "$1" ] || {
                    shift 1
                    continue
                }
                varname=${1%=*}
                varpath=${1#*=}
                x_path=; ___x_cmd_shim__gen_batcode_unix_to_windows "$varpath" || return
                tmp="$tmp
if not defined ${varname} set ${varname}=${x_path}
"; shift 1
        esac
    done

    local x_path=; ___x_cmd_shim__gen_batcode_unix_to_windows "$1" || return
    x_="${x_} ${tmp}
\"$x_path\" %*"
}

___x_cmd_shim__gen_batcode_unix_to_windows(){
    x_path="$1"
    local disk=
    case "$x_path" in
        /*/*)
            x_path="${x_path#/}"
            disk="${x_path%%/*}"
            x_path="${disk}:/${x_path#*/}"
        ;;
        *)  return 1;;
    esac
}


