+/* Add a string key only if value is non-NULL */
+static inline void
+blobmsg_add_string_safe(struct blob_buf *buf, const char *key, const char *val)
+{
+ if (val)
+ blobmsg_add_string(buf, key, val);
+}
+
+/* Look up username from UID */
+static const char *
+look_up_username(uid_t uid)
+{
+ struct passwd *pw = getpwuid(uid);
+ return pw ? pw->pw_name : NULL;
+}
+
+/* Look up group name from GID */
+static const char *
+look_up_groupname(gid_t gid)
+{
+ struct group *gr = getgrgid(gid);
+ return gr ? gr->gr_name : NULL;
+}
+