mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-07-13 00:52:01 -04:00
groupware: fix NPE when flattening durations in slist()
This commit is contained in:
@@ -125,7 +125,11 @@ func RefineResultSlice[A, B any](a []*Result[A], refiner func([]*A, []*SessionSt
|
||||
}
|
||||
})
|
||||
durations := structs.Flatten(structs.Map(a, func(e *Result[A]) []time.Duration {
|
||||
return e.Durations
|
||||
if e != nil {
|
||||
return e.Durations
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}))
|
||||
b, bss, bs, bl, err := refiner(payloads, sessionStates, states, languages)
|
||||
return NewResult(b, bss, bs, bl, durations), err
|
||||
|
||||
@@ -385,11 +385,15 @@ func Reduce[T any](initialValue T, s []T, reducer func(a, b T) T) T {
|
||||
func Flatten[T any](s [][]T) []T {
|
||||
l := 0
|
||||
for _, r := range s {
|
||||
l += len(r)
|
||||
if r != nil {
|
||||
l += len(r)
|
||||
}
|
||||
}
|
||||
result := make([]T, 0, l)
|
||||
for _, r := range s {
|
||||
result = append(result, r...)
|
||||
if r != nil {
|
||||
result = append(result, r...)
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user