//go:build windows

package main

import (
	"path/filepath"
	"os"
	"syscall"
)

var bgProcAttr *syscall.SysProcAttr = &syscall.SysProcAttr{
	CreationFlags: syscall.CREATE_NEW_PROCESS_GROUP,
}

func findExecutable(path string, inPath, dirs bool) error {
	nameExt := filepath.Ext(path)
	pathExts := filepath.SplitList(os.Getenv("PATHEXT"))
	if inPath {
		if nameExt == "" {
			for _, ext := range pathExts {
				_, err := os.Stat(path + ext)
				if err == nil {
					return nil
				}
			}
		} else {
			_, err := os.Stat(path)
			if err == nil {
				if contains(pathExts, nameExt) { return nil }
				return errNotExec
			}
		}
	} else {
		_, err := os.Stat(path)
		if err == nil {
			if contains(pathExts, nameExt) { return nil }
			return errNotExec
		}
	}

	return os.ErrNotExist
}