@@ -89,32 +89,46 @@ func (c *container) Add(entry *Entry, opts ...IgnoreIPOption) error {
8989 }
9090 switch ignoreIPType {
9191 case IPv4 :
92- if ! val .hasIPv6Builder () {
93- val .ipv6Builder = new (netipx.IPSetBuilder )
92+ if ipv6set != nil {
93+ if ! val .hasIPv6Builder () {
94+ val .ipv6Builder = new (netipx.IPSetBuilder )
95+ }
96+ val .ipv6Builder .AddSet (ipv6set )
97+ val .ipv6Set = nil
9498 }
95- val .ipv6Builder .AddSet (ipv6set )
9699 case IPv6 :
97- if ! val .hasIPv4Builder () {
98- val .ipv4Builder = new (netipx.IPSetBuilder )
100+ if ipv4set != nil {
101+ if ! val .hasIPv4Builder () {
102+ val .ipv4Builder = new (netipx.IPSetBuilder )
103+ }
104+ val .ipv4Builder .AddSet (ipv4set )
105+ val .ipv4Set = nil
99106 }
100- val .ipv4Builder .AddSet (ipv4set )
101107 default :
102- if ! val .hasIPv4Builder () {
103- val .ipv4Builder = new (netipx.IPSetBuilder )
108+ if ipv4set != nil {
109+ if ! val .hasIPv4Builder () {
110+ val .ipv4Builder = new (netipx.IPSetBuilder )
111+ }
112+ val .ipv4Builder .AddSet (ipv4set )
113+ val .ipv4Set = nil
104114 }
105- if ! val .hasIPv6Builder () {
106- val .ipv6Builder = new (netipx.IPSetBuilder )
115+ if ipv6set != nil {
116+ if ! val .hasIPv6Builder () {
117+ val .ipv6Builder = new (netipx.IPSetBuilder )
118+ }
119+ val .ipv6Builder .AddSet (ipv6set )
120+ val .ipv6Set = nil
107121 }
108- val .ipv4Builder .AddSet (ipv4set )
109- val .ipv6Builder .AddSet (ipv6set )
110122 }
111123
112124 case false :
113125 switch ignoreIPType {
114126 case IPv4 :
115127 entry .ipv4Builder = nil
128+ entry .ipv4Set = nil
116129 case IPv6 :
117130 entry .ipv6Builder = nil
131+ entry .ipv6Set = nil
118132 }
119133 c .entries [name ] = entry
120134 }
@@ -155,32 +169,46 @@ func (c *container) Remove(entry *Entry, rCase CaseRemove, opts ...IgnoreIPOptio
155169
156170 switch ignoreIPType {
157171 case IPv4 :
158- if ! val .hasIPv6Builder () {
159- val .ipv6Builder = new (netipx.IPSetBuilder )
172+ if ipv6set != nil {
173+ if ! val .hasIPv6Builder () {
174+ val .ipv6Builder = new (netipx.IPSetBuilder )
175+ }
176+ val .ipv6Builder .RemoveSet (ipv6set )
177+ val .ipv6Set = nil
160178 }
161- val .ipv6Builder .RemoveSet (ipv6set )
162179 case IPv6 :
163- if ! val .hasIPv4Builder () {
164- val .ipv4Builder = new (netipx.IPSetBuilder )
180+ if ipv4set != nil {
181+ if ! val .hasIPv4Builder () {
182+ val .ipv4Builder = new (netipx.IPSetBuilder )
183+ }
184+ val .ipv4Builder .RemoveSet (ipv4set )
185+ val .ipv4Set = nil
165186 }
166- val .ipv4Builder .RemoveSet (ipv4set )
167187 default :
168- if ! val .hasIPv4Builder () {
169- val .ipv4Builder = new (netipx.IPSetBuilder )
188+ if ipv4set != nil {
189+ if ! val .hasIPv4Builder () {
190+ val .ipv4Builder = new (netipx.IPSetBuilder )
191+ }
192+ val .ipv4Builder .RemoveSet (ipv4set )
193+ val .ipv4Set = nil
170194 }
171- if ! val .hasIPv6Builder () {
172- val .ipv6Builder = new (netipx.IPSetBuilder )
195+ if ipv6set != nil {
196+ if ! val .hasIPv6Builder () {
197+ val .ipv6Builder = new (netipx.IPSetBuilder )
198+ }
199+ val .ipv6Builder .RemoveSet (ipv6set )
200+ val .ipv6Set = nil
173201 }
174- val .ipv4Builder .RemoveSet (ipv4set )
175- val .ipv6Builder .RemoveSet (ipv6set )
176202 }
177203
178204 case CaseRemoveEntry :
179205 switch ignoreIPType {
180206 case IPv4 :
181207 val .ipv6Builder = nil
208+ val .ipv6Set = nil
182209 case IPv6 :
183210 val .ipv4Builder = nil
211+ val .ipv4Set = nil
184212 default :
185213 delete (c .entries , name )
186214 }
0 commit comments