From: Jo-Philipp Wich <jow@openwrt.org>
Date: Sun, 12 Jan 2014 17:33:46 +0000 (+0000)
Subject: debug
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b0254d1203c9611ecdcf2ad9d6c9a43b80b44724;p=oweals%2Frpcd.git

debug
---

diff --git a/uci.c b/uci.c
index 3bbb9c8..08489e3 100644
--- a/uci.c
+++ b/uci.c
@@ -1392,6 +1392,10 @@ rpc_uci_apply(struct ubus_context *ctx, struct ubus_object *obj,
 			return ret;
 		}
 
+		/* copy SID early because rpc_uci_apply_config() will clobber buf */
+		if (rollback)
+			strncpy(apply_sid, sid, RPC_SID_LEN);
+
 		for (i = 0; i < gl.gl_pathc; i++) {
 			char *config = basename(gl.gl_pathv[i]);
 			struct stat s;
@@ -1410,7 +1414,6 @@ rpc_uci_apply(struct ubus_context *ctx, struct ubus_object *obj,
 		globfree(&gl);
 
 		if (rollback) {
-			strncpy(apply_sid, sid, RPC_SID_LEN);
 			apply_timer.cb = rpc_uci_apply_timeout;
 			uloop_timeout_set(&apply_timer, timeout * 1000);
 			apply_ctx = ctx;
@@ -1439,6 +1442,8 @@ rpc_uci_confirm(struct ubus_context *ctx, struct ubus_object *obj,
 	if (!apply_sid[0])
 		return UBUS_STATUS_NO_DATA;
 
+	printf("CMP=%s/%s\n", apply_sid, sid);
+
 	if (strcmp(apply_sid, sid))
 		return UBUS_STATUS_PERMISSION_DENIED;