port to libyang v3

That change of the helper was actually quite funny; now that there's a
std::string and not a std::string_view, the compiler doesn't like the
fact that we're taking an address of a temporary. Yay.

Change-Id: Icbef01283f2b0abae7d2d0bcad9df91e884d267d
Depends-on: https://gerrit.cesnet.cz/c/CzechLight/dependencies/+/7035
Depends-on: https://gerrit.cesnet.cz/c/CzechLight/sysrepo-ietf-alarms/+/7043
diff --git a/src/utils/libyang.h b/src/utils/libyang.h
index 8c8f8a0..e91e82b 100644
--- a/src/utils/libyang.h
+++ b/src/utils/libyang.h
@@ -8,6 +8,7 @@
 #pragma once
 #include <memory>
 #include <optional>
+#include <string>
 
 namespace libyang {
     class DataNode;
@@ -21,7 +22,7 @@
  * @param node A libyang data node. Mustn't be nullptr. Must be a leaf.
  *
  */
-const char* getValueAsString(const libyang::DataNode& node);
+std::string getValueAsString(const libyang::DataNode& node);
 
 /** @brief Gets exactly one node based on `path` starting from `start`. Uses findXPath, so it works even with lists with
  * missing predicates.