aboutsummaryrefslogtreecommitdiff
path: root/emms-info-native.el
diff options
context:
space:
mode:
authorPetteri Hintsanen <petterih@iki.fi>2021-02-21 19:14:24 +0200
committerPetteri Hintsanen <petterih@iki.fi>2021-02-21 19:14:24 +0200
commitf9f2bab6acc2b078f1b0031f2c626b8f3dfbdbd0 (patch)
tree41e333c47562321d865b27d64649d8ccd82f931e /emms-info-native.el
parent7bb5f7fde2f9917ea3753b09d86cb181ef71cf7a (diff)
Trim trailing whitespace from id3v2 strings
Diffstat (limited to 'emms-info-native.el')
-rw-r--r--emms-info-native.el12
1 files changed, 7 insertions, 5 deletions
diff --git a/emms-info-native.el b/emms-info-native.el
index bca21b1..4aaafed 100644
--- a/emms-info-native.el
+++ b/emms-info-native.el
@@ -728,15 +728,17 @@ If there is no such identifier, return nil."
(defun emms-info-native--decode-id3v2-string (bytes)
"Decode id3v2 text information from BYTES.
-Remove the terminating null byte, if any. Return the text as
-string."
+Remove the terminating null byte, if any, and trim trailing
+whitespace.
+
+Return the text as string."
(let* ((encoding (emms-info-native--id3v2-text-encoding bytes))
(string (mapconcat #'byte-to-string (seq-rest bytes) ""))
(decoded (decode-coding-string string encoding)))
(when (> (length decoded) 0)
- (if (equal (substring decoded -1) "\0")
- (substring decoded 0 -1)
- decoded))))
+ (string-trim-right (if (equal (substring decoded -1) "\0")
+ (substring decoded 0 -1)
+ decoded)))))
(defun emms-info-native--id3v2-text-encoding (bytes)
"Return the encoding for text information BYTES."