From 04caca48a5d8685f53e791ff179ab85d99b5ebc5 Mon Sep 17 00:00:00 2001
From: hygienic-books <hygienic-books@tentic.net>
Date: Mon, 25 Dec 2023 21:45:05 +0100
Subject: [PATCH] refactor(script): Add pkgs to snapshot name only when allowed
 by user (#1)

---
 pacman-zfs-snapshot.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/pacman-zfs-snapshot.sh b/pacman-zfs-snapshot.sh
index 6a8b0f3..0113462 100755
--- a/pacman-zfs-snapshot.sh
+++ b/pacman-zfs-snapshot.sh
@@ -209,7 +209,14 @@ function do_snaps () {
     local snap_name snap_return_code
     local -a planned_snaps
     for snappable_dataset_id in "${!snappable_datasets[@]}"; do
-        snap_name="${snappable_datasets[${snappable_dataset_id}]}"'@'"${snap_name_prefix}${snap_field_separator}${date_string}${snap_field_separator}"'op:'"${conf_op_suffix}${snap_field_separator}"'sev:'"${severity}${snap_field_separator}"'pkgs:'"${trimmed_pkg_list_oneline}"
+        snap_name="${snappable_datasets[${snappable_dataset_id}]}"'@'"${snap_name_prefix}${snap_field_separator}${date_string}${snap_field_separator}"'op:'"${conf_op_suffix}${snap_field_separator}"'sev:'"${severity}"
+        # If we have at least one pkg name character to append we do
+        # so now but if we're not even allowed to append a single
+        # character we might as well skip the 'pkgs' field
+        # altogether.
+        if [[ "${pkgs_list_max_length}" -ge '1' ]]; then
+            snap_name="${snap_name}${snap_field_separator}"'pkgs:'"${trimmed_pkg_list_oneline}"
+        fi
         planned_snaps["${snappable_dataset_id}"]="${snap_name}"
     done
     if [[ "${do_dry_run}" == 'true' ]]; then