am b377955: init: Fix some broken code that did not cause problems until
Merge commit 'b3779558dcfbe99f0b9c1ef796e3728edad25672'
* commit 'b3779558dcfbe99f0b9c1ef796e3728edad25672':
init: Fix some broken code that did not cause problems until switching to gcc 4.4
diff --git a/init/parser.c b/init/parser.c
index 6a22d24..30fa3de 100644
--- a/init/parser.c
+++ b/init/parser.c
@@ -536,7 +536,7 @@
const char* name = act->name + strlen("property:");
const char* equals = strchr(name, '=');
if (equals) {
- char* prop_name[PROP_NAME_MAX + 1];
+ char prop_name[PROP_NAME_MAX + 1];
const char* value;
int length = equals - name;
if (length > PROP_NAME_MAX) {
@@ -546,7 +546,7 @@
prop_name[length] = 0;
/* does the property exist, and match the trigger value? */
- value = property_get((const char *)&prop_name[0]);
+ value = property_get(prop_name);
if (value && !strcmp(equals + 1, value)) {
action_add_queue_tail(act);
}
diff --git a/init/property_service.c b/init/property_service.c
index 0bc6239..48ca3ea 100644
--- a/init/property_service.c
+++ b/init/property_service.c
@@ -296,7 +296,7 @@
__futex_wake(&pa->serial, INT32_MAX);
}
/* If name starts with "net." treat as a DNS property. */
- if (strncmp("net.", name, sizeof("net.") - 1) == 0) {
+ if (strncmp("net.", name, strlen("net.")) == 0) {
if (strcmp("net.change", name) == 0) {
return 0;
}
@@ -307,7 +307,7 @@
*/
property_set("net.change", name);
} else if (persistent_properties_loaded &&
- strncmp("persist.", name, sizeof("persist.") - 1) == 0) {
+ strncmp("persist.", name, strlen("persist.")) == 0) {
/*
* Don't write properties to disk until after we have read all default properties
* to prevent them from being overwritten by default values.
@@ -446,8 +446,7 @@
if (dir) {
while ((entry = readdir(dir)) != NULL) {
- if (!strcmp(entry->d_name, ".") || !strcmp(entry->d_name, "..") ||
- strncmp("persist.", entry->d_name, sizeof("persist.") - 1))
+ if (strncmp("persist.", entry->d_name, strlen("persist.")))
continue;
#if HAVE_DIRENT_D_TYPE
if (entry->d_type != DT_REG)