|
@@ -226,7 +226,13 @@ func (cm *ChannelManager) SetUnregistered(channelName string, account string) (e
|
226
|
226
|
return err
|
227
|
227
|
}
|
228
|
228
|
|
229
|
|
- var info RegisteredChannel
|
|
229
|
+ info, err := cm.server.channelRegistry.LoadChannel(cfname)
|
|
230
|
+ if err != nil {
|
|
231
|
+ return err
|
|
232
|
+ }
|
|
233
|
+ if info.Founder != account {
|
|
234
|
+ return errChannelNotOwnedByAccount
|
|
235
|
+ }
|
230
|
236
|
|
231
|
237
|
defer func() {
|
232
|
238
|
if err == nil {
|
|
@@ -237,17 +243,12 @@ func (cm *ChannelManager) SetUnregistered(channelName string, account string) (e
|
237
|
243
|
cm.Lock()
|
238
|
244
|
defer cm.Unlock()
|
239
|
245
|
entry := cm.chans[cfname]
|
240
|
|
- if entry == nil {
|
241
|
|
- return errNoSuchChannel
|
242
|
|
- }
|
243
|
|
- info = entry.channel.ExportRegistration(0)
|
244
|
|
- if info.Founder != account {
|
245
|
|
- return errChannelNotOwnedByAccount
|
246
|
|
- }
|
247
|
|
- entry.channel.SetUnregistered(account)
|
248
|
|
- delete(cm.registeredChannels, cfname)
|
249
|
|
- if skel, err := Skeleton(entry.channel.Name()); err == nil {
|
250
|
|
- delete(cm.registeredSkeletons, skel)
|
|
246
|
+ if entry != nil {
|
|
247
|
+ entry.channel.SetUnregistered(account)
|
|
248
|
+ delete(cm.registeredChannels, cfname)
|
|
249
|
+ if skel, err := Skeleton(entry.channel.Name()); err == nil {
|
|
250
|
+ delete(cm.registeredSkeletons, skel)
|
|
251
|
+ }
|
251
|
252
|
}
|
252
|
253
|
return nil
|
253
|
254
|
}
|