osbase/logtree: make Read() more readable

Change-Id: Ic6b365a79f90c59d2624889f795bfc7c684d815a
Reviewed-on: https://review.monogon.dev/c/monogon/+/4449
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
Tested-by: Jenkins CI
diff --git a/osbase/logtree/logtree_access.go b/osbase/logtree/logtree_access.go
index 5e1d000..fe58fbe 100644
--- a/osbase/logtree/logtree_access.go
+++ b/osbase/logtree/logtree_access.go
@@ -144,26 +144,25 @@
 		}
 	}
 
-	var sub *subscriber
+	lr := &LogReader{}
 	if lro.withStream {
-		sub = &subscriber{
+		sub := &subscriber{
 			// TODO(q3k): make buffer size configurable
 			dataC:   make(chan *LogEntry, 128),
 			doneC:   make(chan struct{}),
 			filters: filters,
 		}
 		l.journal.subscribe(sub)
-	}
 
-	lr := &LogReader{}
-	lr.Backlog = make([]*LogEntry, len(entries))
-	for i, entry := range entries {
-		lr.Backlog[i] = entry.external()
-	}
-	if lro.withStream {
 		lr.Stream = sub.dataC
 		lr.done = sub.doneC
 		lr.missed = &sub.missed
 	}
+
+	lr.Backlog = make([]*LogEntry, len(entries))
+	for i, entry := range entries {
+		lr.Backlog[i] = entry.external()
+	}
+
 	return lr, nil
 }