@@ -550,6 +550,39 @@ func Main(options ...func(o *Options)) error { //nolint:funlen,cyclop,gocognit,g
550550 }
551551 }
552552
553+ var files []string
554+
555+ args := flag .Args ()
556+ isStdin := false
557+
558+ if len (args ) == 1 && args [0 ] == "-" {
559+ files = append (files , "-" ) // STDIN
560+ isStdin = true
561+ } else {
562+ for _ , f := range args {
563+ glob , err := filepath .Glob (f )
564+ if err != nil {
565+ return err
566+ }
567+
568+ for _ , f := range glob {
569+ alreadyThere := false
570+
571+ for _ , e := range files {
572+ if e == f {
573+ alreadyThere = true
574+
575+ break
576+ }
577+ }
578+
579+ if ! alreadyThere {
580+ files = append (files , f )
581+ }
582+ }
583+ }
584+ }
585+
553586 if * output != "" && r .outDir == "" { //nolint:nestif
554587 fn := * output
555588
@@ -595,14 +628,18 @@ func Main(options ...func(o *Options)) error { //nolint:funlen,cyclop,gocognit,g
595628 }
596629 }()
597630 } else {
598- w := bufio .NewWriterSize (os .Stdout , 64 * 1024 )
599- r .output = w
631+ if isStdin {
632+ r .output = os .Stdout
633+ } else {
634+ w := bufio .NewWriterSize (os .Stdout , 64 * 1024 )
635+ r .output = w
600636
601- defer func () {
602- if err := w .Flush (); err != nil {
603- log .Fatalf ("failed to flush STDOUT buffer: %s" , err )
604- }
605- }()
637+ defer func () {
638+ if err := w .Flush (); err != nil {
639+ log .Fatalf ("failed to flush STDOUT buffer: %s" , err )
640+ }
641+ }()
642+ }
606643 }
607644
608645 if len (pass ) > 0 {
@@ -643,37 +680,6 @@ func Main(options ...func(o *Options)) error { //nolint:funlen,cyclop,gocognit,g
643680 },
644681 }
645682
646- var files []string
647-
648- args := flag .Args ()
649-
650- if len (args ) == 1 && args [0 ] == "-" {
651- files = append (files , "-" ) // STDIN
652- } else {
653- for _ , f := range args {
654- glob , err := filepath .Glob (f )
655- if err != nil {
656- return err
657- }
658-
659- for _ , f := range glob {
660- alreadyThere := false
661-
662- for _ , e := range files {
663- if e == f {
664- alreadyThere = true
665-
666- break
667- }
668- }
669-
670- if ! alreadyThere {
671- files = append (files , f )
672- }
673- }
674- }
675- }
676-
677683 for _ , fn := range files {
678684 if fn == "-" {
679685 r .totalBytes = - 1
0 commit comments