summaryrefslogtreecommitdiff
path: root/internal/keepass/keepass.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-18 16:26:33 +0300
committerPaul Buetow <paul@buetow.org>2026-04-18 16:26:33 +0300
commit7292a5db4e96ffeb30697ce3308d47777bf7c2f5 (patch)
tree82df398206ab89487c0d7608068a31c5cbf97b89 /internal/keepass/keepass.go
parent667bf24a8ac2c2b4c4f9befd7f77b22f0a156a27 (diff)
keepass: fix parseContent doc comment and add importBytes ctx note
- Replace the inaccurate "Go compiler can optimise away" claim in parseContent's doc with an accurate explanation: callers that already hold a string pass it directly, while []byte callers make a single explicit conversion at the call site, keeping the conversion visible rather than hidden inside the function (100 Go Mistakes #40). - Add a comment in importBytes explaining why ctx is not threaded into addAttachment or addTextEntry: both are synchronous, purely in-memory operations with no I/O or blocking calls that could respect cancellation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/keepass/keepass.go')
-rw-r--r--internal/keepass/keepass.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/internal/keepass/keepass.go b/internal/keepass/keepass.go
index dedf302..e8450ab 100644
--- a/internal/keepass/keepass.go
+++ b/internal/keepass/keepass.go
@@ -201,7 +201,9 @@ func (b *Backend) binaryData(ve *virtualEntry) (*store.Data, error) {
// is intentionally absent — the closure only needs the description and db ref.
func (b *Backend) makeWriteBack(description string) func([]byte) error {
return func(newContent []byte) error {
- password, user, url, notes := parseContent(newContent)
+ // Convert []byte to string once here; parseContent accepts string to
+ // avoid a double conversion at its internal strings.Split call (mistake #40).
+ password, user, url, notes := parseContent(string(newContent))
groupPath, title, err := SplitDescriptionPath(description)
if err != nil {
return fmt.Errorf("keepass writeback: %w", err)