summaryrefslogtreecommitdiffstats
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-03-20 09:45:18 -0700
committerElliott Hughes <enh@google.com>2015-03-20 10:03:32 -0700
commitdb3f267c99411b10144998c6c1f1a6288d0191bc (patch)
tree989b8000829cefb26964ed177ce986b3e38230a9 /init/builtins.cpp
parent1b8dbe74412dd27f2950e0c84feaf09c5b7dcbf0 (diff)
downloadsystem_core-db3f267c99411b10144998c6c1f1a6288d0191bc.zip
system_core-db3f267c99411b10144998c6c1f1a6288d0191bc.tar.gz
system_core-db3f267c99411b10144998c6c1f1a6288d0191bc.tar.bz2
Clean up property setting code.
In particular, ensure that all property_set failures are reported. Change-Id: Iab94a28bcba2346868c0f39bcfe26e55a2c55562
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp67
1 files changed, 22 insertions, 45 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index 01217c1..e659cfa 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -14,31 +14,31 @@
* limitations under the License.
*/
-#include <sys/types.h>
-#include <sys/stat.h>
+#include <errno.h>
#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
+#include <net/if.h>
#include <stdio.h>
-#include <linux/kd.h>
-#include <errno.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <linux/if.h>
-#include <arpa/inet.h>
#include <stdlib.h>
+#include <string.h>
+#include <sys/socket.h>
#include <sys/mount.h>
#include <sys/resource.h>
#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
#include <sys/wait.h>
+#include <unistd.h>
#include <linux/loop.h>
-#include <cutils/partition_utils.h>
-#include <cutils/android_reboot.h>
-#include <fs_mgr.h>
#include <selinux/selinux.h>
#include <selinux/label.h>
+#include <fs_mgr.h>
+#include <base/stringprintf.h>
+#include <cutils/partition_utils.h>
+#include <cutils/android_reboot.h>
+#include <private/android_filesystem_config.h>
+
#include "init.h"
#include "keywords.h"
#include "property_service.h"
@@ -47,8 +47,6 @@
#include "util.h"
#include "log.h"
-#include <private/android_filesystem_config.h>
-
#define chmod DO_NOT_USE_CHMOD_USE_FCHMODAT_SYMLINK_NOFOLLOW
int add_environment(const char *name, const char *value);
@@ -674,41 +672,20 @@ int do_sysclktz(int nargs, char **args)
}
int do_verity_load_state(int nargs, char **args) {
- if (nargs == 1) {
- int mode = -1;
- int rc = fs_mgr_load_verity_state(&mode);
-
- if (rc == 0 && mode == VERITY_MODE_LOGGING) {
- action_for_each_trigger("verity-logging", action_add_queue_tail);
- }
-
- return rc;
+ int mode = -1;
+ int rc = fs_mgr_load_verity_state(&mode);
+ if (rc == 0 && mode == VERITY_MODE_LOGGING) {
+ action_for_each_trigger("verity-logging", action_add_queue_tail);
}
- return -1;
+ return rc;
}
-static void verity_update_property(struct fstab_rec *fstab,
- const char *mount_point, int status) {
- char key[PROP_NAME_MAX];
- int ret;
-
- ret = snprintf(key, PROP_NAME_MAX, "partition.%s.verified", mount_point);
- if (ret >= PROP_NAME_MAX) {
- ERROR("Error setting verified property for %s: name too long\n",
- mount_point);
- return;
- }
-
- ret = property_set(key, "1");
- if (ret < 0)
- ERROR("Error setting verified property %s: %d\n", key, ret);
+static void verity_update_property(fstab_rec *fstab, const char *mount_point, int status) {
+ property_set(android::base::StringPrintf("partition.%s.verified", mount_point).c_str(), "1");
}
-int do_verity_update_state(int nargs, char **args) {
- if (nargs == 1) {
- return fs_mgr_update_verity_state(verity_update_property);
- }
- return -1;
+int do_verity_update_state(int nargs, char** args) {
+ return fs_mgr_update_verity_state(verity_update_property);
}
int do_write(int nargs, char **args)