From b76eda6cd8ba061f49af4074838e6a42ae94144c Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 11 Jun 2014 02:37:08 +0100 Subject: [PATCH] only add the nandupgrade method when /sbin/upgraded exists Signed-off-by: John Crispin --- system.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/system.c b/system.c index 2110035..29ca656 100644 --- a/system.c +++ b/system.c @@ -342,6 +342,8 @@ static const struct ubus_method system_methods[] = { UBUS_METHOD_NOARG("upgrade", system_upgrade), UBUS_METHOD("watchdog", watchdog_set, watchdog_policy), UBUS_METHOD("signal", proc_signal, signal_policy), + + /* must remain at the end as it ia not always loaded */ UBUS_METHOD("nandupgrade", nand_set, nand_policy), }; @@ -371,8 +373,12 @@ procd_bcast_event(char *event, struct blob_attr *msg) void ubus_init_system(struct ubus_context *ctx) { + struct stat s; int ret; + if (stat("/sbin/upgraded", &s)) + system_object.n_methods -= 1; + _ctx = ctx; ret = ubus_add_object(ctx, &system_object); if (ret) -- 2.11.0