From 1998027d7cbb9d8f3986964bbdae070296bdce56 Mon Sep 17 00:00:00 2001
From: Philip Prindeville <philipp@redfish-solutions.com>
Date: Sun, 24 Sep 2023 11:52:19 -0600
Subject: [PATCH] base-files: functions.sh: Add prepend() homologue to append()

Sometimes it's useful to be able to prepend to a variable as
well, such as when dealing with domain names, e.g.

    prepend fdqn "$subdomain" "."

will result in:

   fqdn="$subdomain.$fqdn"

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
---
 package/base-files/files/lib/functions.sh | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index bbdecbbc47..d9628dbb7a 100644
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -40,6 +40,14 @@ append() {
 	eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\""
 }
 
+prepend() {
+	local var="$1"
+	local value="$2"
+	local sep="${3:- }"
+
+	eval "export ${NO_EXPORT:+-n} -- \"$var=\${$value:+\${$value}\$sep}\$var\""
+}
+
 list_contains() {
 	local var="$1"
 	local str="$2"
-- 
2.30.2