commit 5a96defc871111e0af66982aec8988b8fff45ede
parent 2960a34feeacd9d134c62bc9374a8168f5c02d15
Author: lash <dev@holbrook.no>
Date: Fri, 16 Sep 2022 18:20:25 +0000
Avoid panic for xattr parse on incompatible filesystem
Diffstat:
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/set.sh b/set.sh
@@ -13,6 +13,12 @@ if [ ! -z "$title" ]; then
setfattr -n user.dcterms:title -v "$title" "$f"
fi
+getfattr -n user.dcterms:title "$f" &> /dev/null
+if [ "$?" -gt "0" ]; then
+ >&2 echo no title set, exiting.
+ exit 0
+fi
+
echo -n "Author: "
read author
if [ ! -z "$author" ]; then
diff --git a/src/meta.rs b/src/meta.rs
@@ -244,7 +244,14 @@ impl MetaData {
.into_string()
.unwrap();
- let title_src = xattr::get(filepath, "user.dcterms:title").unwrap();
+ let title_src = match xattr::get(filepath, "user.dcterms:title") {
+ Ok(v) => {
+ v
+ },
+ Err(e) => {
+ return Err(ParseError{});
+ }
+ };
match title_src {
Some(v) => {
let s = std::str::from_utf8(&v).unwrap();