llcppsigfetch:use stdin

This commit is contained in:
luoliwoshang
2024-09-29 16:18:17 +08:00
parent 01bf7c8c38
commit ee335de222

View File

@@ -33,22 +33,26 @@ import (
func main() { func main() {
cfgFile := "" cfgFile := ""
useStdin := false
outputToFile := false outputToFile := false
for i := 1; i < len(os.Args); i++ { for i := 1; i < len(os.Args); i++ {
arg := os.Args[i] arg := os.Args[i]
if arg == "--extract" { switch {
case arg == "--extract":
runExtract() runExtract()
return return
} else if arg == "--help" || arg == "-h" { case arg == "--help" || arg == "-h":
printUsage() printUsage()
return return
} else if strings.HasPrefix(arg, "-out=") { case strings.HasPrefix(arg, "-out="):
outputToFile = parseBoolArg(arg, "out", false) outputToFile = parseBoolArg(arg, "out", false)
} else if cfgFile == "" && !strings.HasPrefix(arg, "-") { case cfgFile == "" && !strings.HasPrefix(arg, "-"):
cfgFile = arg cfgFile = arg
case arg == "-":
useStdin = true
} }
} }
runFromConfig(cfgFile, outputToFile) runFromConfig(cfgFile, useStdin, outputToFile)
} }
func printUsage() { func printUsage() {
@@ -79,14 +83,14 @@ func printUsage() {
fmt.Println("Note: The two usage modes are mutually exclusive. Use either [<config_file>] OR --extract, not both.") fmt.Println("Note: The two usage modes are mutually exclusive. Use either [<config_file>] OR --extract, not both.")
} }
func runFromConfig(cfgFile string, outputToFile bool) { func runFromConfig(cfgFile string, useStdin bool, outputToFile bool) {
if cfgFile == "" { if cfgFile == "" {
cfgFile = "llcppg.cfg" cfgFile = "llcppg.cfg"
} }
var data []byte var data []byte
var err error var err error
if cfgFile == "-" { if useStdin {
data, err = io.ReadAll(os.Stdin) data, err = io.ReadAll(os.Stdin)
} else { } else {
data, err = os.ReadFile(cfgFile) data, err = os.ReadFile(cfgFile)