checking in- needs some refinement then done
This commit is contained in:
@@ -34,8 +34,8 @@ func main() {
|
||||
var res *netsplit.StructuredResults
|
||||
var noStrict bool
|
||||
var strictErr error
|
||||
var splitErr = new(netsplit.SplitErr)
|
||||
var parser = flags.NewParser(args, flags.Default)
|
||||
var splitErr *netsplit.SplitErr = new(netsplit.SplitErr)
|
||||
var parser *flags.Parser = flags.NewParser(args, flags.Default)
|
||||
|
||||
if _, err = parser.Parse(); err != nil {
|
||||
switch flagsErr := err.(type) {
|
||||
@@ -55,35 +55,21 @@ func main() {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
// If args.Version or args.DetailVersion are true, just print them and exit.
|
||||
if args.DetailVersion || args.Version {
|
||||
if args.Version {
|
||||
fmt.Println(version.Ver.Short())
|
||||
return
|
||||
} else if args.DetailVersion {
|
||||
switch parser.Active.Name {
|
||||
case "version":
|
||||
if args.Version.DetailVersion {
|
||||
fmt.Println(version.Ver.Detail())
|
||||
return
|
||||
} else {
|
||||
fmt.Println(version.Ver.Short())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
switch parser.Active.Name {
|
||||
case "net":
|
||||
if origPfx, err = netip.ParsePrefix(args.ExplicitNetwork.Network.Network); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
pfx = netipx.PrefixIPNet(origPfx.Masked())
|
||||
cmnArgs = common{
|
||||
outputOpts: outputOpts{
|
||||
SuppressRemaining: true,
|
||||
Plain: args.ExplicitNetwork.Plain,
|
||||
Verbose: args.ExplicitNetwork.Verbose,
|
||||
Seperator: args.ExplicitNetwork.Seperator,
|
||||
Fmt: args.ExplicitNetwork.Fmt,
|
||||
},
|
||||
AllowReserved: true,
|
||||
AllowHostNet: true,
|
||||
Network: args.ExplicitNetwork.Network,
|
||||
}
|
||||
cmnArgs = args.ExplicitNetwork.common
|
||||
nets = make([]*netip.Prefix, 1)
|
||||
nets[0] = new(netip.Prefix)
|
||||
*nets[0] = origPfx.Masked()
|
||||
@@ -91,14 +77,16 @@ func main() {
|
||||
log.Panicln(err)
|
||||
}
|
||||
return
|
||||
case "reserved":
|
||||
// TODO
|
||||
case "table":
|
||||
// Account for a weird redundant CLI condition.
|
||||
if args.Table.tableOpts.NoIpv4 && args.Table.tableOpts.NoIpv6 {
|
||||
args.Table.tableOpts.NoIpv6 = false
|
||||
args.Table.tableOpts.NoIpv4 = false
|
||||
if args.Table.NoIpv4 && args.Table.NoIpv6 {
|
||||
args.Table.NoIpv6 = false
|
||||
args.Table.NoIpv4 = false
|
||||
}
|
||||
buf = new(bytes.Buffer)
|
||||
if err = tblTpl.ExecuteTemplate(buf, "table.tpl", args.Table.tableOpts); err != nil {
|
||||
if err = tblTpl.ExecuteTemplate(buf, "table.tpl", args.Table); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
os.Stdout.Write(buf.Bytes())
|
||||
@@ -128,11 +116,7 @@ func main() {
|
||||
origPfx = *resPfx
|
||||
}
|
||||
pfx = netipx.PrefixIPNet(origPfx.Masked())
|
||||
cmnArgs = common{
|
||||
outputOpts: args.Parse.outputOpts,
|
||||
AllowReserved: args.Parse.AllowReserved,
|
||||
AllowHostNet: args.Parse.AllowHostNet,
|
||||
}
|
||||
cmnArgs = args.Parse.common
|
||||
if err = printNets(&origPfx, pfx, nets, remaining, &cmnArgs, res.GetSplitter()); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
@@ -191,6 +175,10 @@ func main() {
|
||||
PrefixLengths: args.VLSM.Sizes,
|
||||
BaseSplitter: new(netsplit.BaseSplitter),
|
||||
}
|
||||
default:
|
||||
err = flags.ErrCommandRequired
|
||||
log.Println(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
if origPfx, err = netip.ParsePrefix(cmnArgs.Network.Network); err != nil {
|
||||
log.Panicln(err)
|
||||
|
||||
Reference in New Issue
Block a user