Changeset 491 in code for trunk/cmd/soju


Ignore:
Timestamp:
Mar 31, 2021, 5:02:40 PM (4 years ago)
Author:
contact
Message:

cmd/soju: allow specifying -listen multiple times

Closes: https://todo.sr.ht/~emersion/soju/67

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/cmd/soju/main.go

    r477 r491  
    55        "crypto/tls"
    66        "flag"
     7        "fmt"
    78        "log"
    89        "net"
     
    2526const downstreamKeepAlive = 1 * time.Hour
    2627
     28type stringSliceFlag []string
     29
     30func (v *stringSliceFlag) String() string {
     31        return fmt.Sprint([]string(*v))
     32}
     33
     34func (v *stringSliceFlag) Set(s string) error {
     35        *v = append(*v, s)
     36        return nil
     37}
     38
    2739func main() {
    28         var listen, configPath string
     40        var listen []string
     41        var configPath string
    2942        var debug bool
    30         flag.StringVar(&listen, "listen", "", "listening address")
     43        flag.Var((*stringSliceFlag)(&listen), "listen", "listening address")
    3144        flag.StringVar(&configPath, "config", "", "path to configuration file")
    3245        flag.BoolVar(&debug, "debug", false, "enable debug logging")
     
    4457        }
    4558
    46         if listen != "" {
    47                 cfg.Listen = append(cfg.Listen, listen)
    48         }
     59        cfg.Listen = append(cfg.Listen, listen...)
    4960        if len(cfg.Listen) == 0 {
    5061                cfg.Listen = []string{":6697"}
Note: See TracChangeset for help on using the changeset viewer.