fix: replace invalid new(expression) calls with proper pointer allocation
Go's new() builtin takes a type and allocates a zero value — it cannot wrap an expression. All instances of new(someExpression) were compile errors. Replace each with a local variable assignment and address-of operator. Affected files: - handlers/koreader.go: progress field pointers (Chapter, Page, etc.) - handlers/kobo.go: pagesRemaining pointer - handlers/queue.go: uuidPtrToString and timestamptzPtrToString helpers - router/reader.go: bookmark pageNumber and chapterNumber pointers - services/media_scanner.go: validation error message pointers - services/worker.go: StartedAt and CompletedAt timestamps - sync/offline.go: GetDeviceStatus return pointer - tests/device_test.go: SyncEnabled and SyncFrequencyMinutes pointers
This commit is contained in:
@@ -1320,12 +1320,13 @@ func (s *MediaScanner) ValidateMediaItemForLibrary(
|
||||
// Must be fixed-layout or comic archive
|
||||
if mediaItem.FormatGroup != "fixed_layout" &&
|
||||
mediaItem.FormatGroup != "comic_archive" {
|
||||
return new(fmt.Sprintf(
|
||||
str := fmt.Sprintf(
|
||||
"EPUB file '%s' is reflowable (text-based), not fixed-layout (image-based). "+
|
||||
"Manga library only accepts fixed-layout EPUBs, CBZ, CBR, or image files. "+
|
||||
"Consider moving this file to an ebooks library.",
|
||||
mediaItem.Title,
|
||||
))
|
||||
)
|
||||
return &str
|
||||
}
|
||||
|
||||
// Set manga-specific flags for fixed-layout EPUBs
|
||||
@@ -1350,11 +1351,12 @@ func (s *MediaScanner) ValidateMediaItemForLibrary(
|
||||
// Accept comic archives and fixed-layout
|
||||
if mediaItem.FormatGroup != "comic_archive" &&
|
||||
mediaItem.FormatGroup != "fixed_layout" {
|
||||
return new(fmt.Sprintf(
|
||||
str := fmt.Sprintf(
|
||||
"File '%s' is not a comic archive format. "+
|
||||
"Comics library only accepts CBZ, CBR, CB7, CBT, PDF, or fixed-layout EPUBs.",
|
||||
mediaItem.Title,
|
||||
))
|
||||
)
|
||||
return &str
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1363,11 +1365,12 @@ func (s *MediaScanner) ValidateMediaItemForLibrary(
|
||||
// Flag manga for potential reorganization (info level)
|
||||
if mediaItem.FormatGroup == "fixed_layout" &&
|
||||
(!mediaItem.MangaType.Valid || mediaItem.MangaType.String == "yes" || mediaItem.MangaType.String == "yes_and_right_to_left") {
|
||||
return new(fmt.Sprintf(
|
||||
str := fmt.Sprintf(
|
||||
"File '%s' appears to be manga (fixed-layout with images). "+
|
||||
"Consider moving to a manga or comics library for better organization.",
|
||||
mediaItem.Title,
|
||||
))
|
||||
)
|
||||
return &str
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -221,7 +221,8 @@ func (w *Worker) processJob(job *Job) {
|
||||
}
|
||||
w.mu.Unlock()
|
||||
|
||||
job.StartedAt = new(time.Now())
|
||||
started := time.Now()
|
||||
job.StartedAt = &started
|
||||
|
||||
w.mu.Lock()
|
||||
if result, exists := w.results[job.ID]; exists {
|
||||
@@ -253,7 +254,8 @@ func (w *Worker) processJob(job *Job) {
|
||||
err = fmt.Errorf("unknown job type: %s", job.Type)
|
||||
}
|
||||
|
||||
job.CompletedAt = new(time.Now())
|
||||
completed := time.Now()
|
||||
job.CompletedAt = &completed
|
||||
job.Error = err
|
||||
job.Result = result
|
||||
|
||||
|
||||
Reference in New Issue
Block a user