|
@@ -366,6 +366,10 @@ func (set *ModeSet) SetMode(mode Mode, on bool) (applied bool) {
|
366
|
366
|
|
367
|
367
|
// return the modes in the set as a slice
|
368
|
368
|
func (set *ModeSet) AllModes() (result []Mode) {
|
|
369
|
+ if set == nil {
|
|
370
|
+ return
|
|
371
|
+ }
|
|
372
|
+
|
369
|
373
|
set.RLock()
|
370
|
374
|
defer set.RUnlock()
|
371
|
375
|
|
|
@@ -376,22 +380,27 @@ func (set *ModeSet) AllModes() (result []Mode) {
|
376
|
380
|
}
|
377
|
381
|
|
378
|
382
|
// String returns the modes in this set.
|
379
|
|
-func (set *ModeSet) String() string {
|
|
383
|
+func (set *ModeSet) String() (result string) {
|
|
384
|
+ if set == nil {
|
|
385
|
+ return
|
|
386
|
+ }
|
|
387
|
+
|
380
|
388
|
set.RLock()
|
381
|
389
|
defer set.RUnlock()
|
382
|
390
|
|
383
|
|
- if len(set.modes) == 0 {
|
384
|
|
- return ""
|
385
|
|
- }
|
386
|
|
- var result []byte
|
|
391
|
+ var buf strings.Builder
|
387
|
392
|
for mode := range set.modes {
|
388
|
|
- result = append(result, mode.String()...)
|
|
393
|
+ buf.WriteRune(rune(mode))
|
389
|
394
|
}
|
390
|
|
- return string(result)
|
|
395
|
+ return buf.String()
|
391
|
396
|
}
|
392
|
397
|
|
393
|
398
|
// Prefixes returns a list of prefixes for the given set of channel modes.
|
394
|
399
|
func (set *ModeSet) Prefixes(isMultiPrefix bool) (prefixes string) {
|
|
400
|
+ if set == nil {
|
|
401
|
+ return
|
|
402
|
+ }
|
|
403
|
+
|
395
|
404
|
set.RLock()
|
396
|
405
|
defer set.RUnlock()
|
397
|
406
|
|