Skip to content

Commit

Permalink
overwriteIfConfirmed: fmt.Scanf with %s verb
Browse files Browse the repository at this point in the history
Unlike %c, %s discards leading spaces.
  • Loading branch information
vbauerster committed Aug 13, 2024
1 parent 7bc8bc6 commit cdea0d4
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions getparty.go
Original file line number Diff line number Diff line change
Expand Up @@ -645,13 +645,17 @@ func (cmd Cmd) overwriteIfConfirmed(name string) error {
cmd.loggers[DEBUG].Printf("Removing existing: %q", name)
return os.Remove(name)
}
var answer rune
var answer string
fmt.Fprintf(cmd.Err, "File %q already exists, overwrite? [Y/n] ", name)
if _, err := fmt.Scanf("%c", &answer); err != nil {
return err
if _, err := fmt.Scanf("%s", &answer); err != nil {
if err.Error() == "unexpected newline" {
answer = "y"
} else {
return err
}
}
switch answer {
case '\n', 'y', 'Y':
case "y", "Y":
if cmd.Ctx.Err() == nil {
cmd.loggers[DEBUG].Printf("Removing existing: %q", name)
return os.Remove(name)
Expand Down

0 comments on commit cdea0d4

Please sign in to comment.