From 45f1f2ed9e5eef31628554982da662e8d03ec8c3 Mon Sep 17 00:00:00 2001 From: kira1928 Date: Sat, 14 Jan 2023 01:13:12 +0900 Subject: [PATCH] fix no config panic bug (#332) --- src/cmd/bililive/internal/flag/flag.go | 26 +++++++++++++------------- src/configs/config.go | 6 ++++++ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/cmd/bililive/internal/flag/flag.go b/src/cmd/bililive/internal/flag/flag.go index a8c27524..e317e22f 100644 --- a/src/cmd/bililive/internal/flag/flag.go +++ b/src/cmd/bililive/internal/flag/flag.go @@ -32,20 +32,20 @@ func init() { // GenConfigFromFlags generates configuration by parsing command line parameters. func GenConfigFromFlags() *configs.Config { - cfg := &configs.Config{ - RPC: configs.RPC{ - Enable: *RPC, - Bind: *RPCBind, - }, - Debug: *Debug, - Interval: *Interval, - OutPutPath: *Output, - OutputTmpl: *OutputFileTmpl, - LiveRooms: configs.NewLiveRoomsWithStrings(*Input), - Feature: configs.Feature{ - UseNativeFlvParser: *NativeFlvParser, - }, + cfg := configs.NewConfig() + cfg.RPC = configs.RPC{ + Enable: *RPC, + Bind: *RPCBind, } + cfg.Debug = *Debug + cfg.Interval = *Interval + cfg.OutPutPath = *Output + cfg.OutputTmpl = *OutputFileTmpl + cfg.LiveRooms = configs.NewLiveRoomsWithStrings(*Input) + cfg.Feature = configs.Feature{ + UseNativeFlvParser: *NativeFlvParser, + } + if SplitStrategies != nil && len(*SplitStrategies) > 0 { for _, s := range *SplitStrategies { // TODO: not hard code diff --git a/src/configs/config.go b/src/configs/config.go index 646f3895..5a7c01b8 100644 --- a/src/configs/config.go +++ b/src/configs/config.go @@ -129,6 +129,12 @@ var defaultConfig = Config{ TimeoutInUs: 60000000, } +func NewConfig() *Config { + config := new(Config) + config.liveRoomIndexCache = map[string]int{} + return config +} + // Verify will return an error when this config has problem. func (c *Config) Verify() error { if c == nil {