am b35f68a6: Merge "init: load factory properties"
* commit 'b35f68a6974589fc3c762d6d2c7bac363794e355': init: load factory properties
This commit is contained in:
commit
28e52c816d
1 changed files with 14 additions and 7 deletions
|
|
@ -403,10 +403,13 @@ void get_property_workspace(int *fd, int *sz)
|
||||||
*sz = pa_workspace.size;
|
*sz = pa_workspace.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_properties(char *data)
|
static void load_properties(char *data, char *prefix)
|
||||||
{
|
{
|
||||||
char *key, *value, *eol, *sol, *tmp;
|
char *key, *value, *eol, *sol, *tmp;
|
||||||
|
size_t plen;
|
||||||
|
|
||||||
|
if (prefix)
|
||||||
|
plen = strlen(prefix);
|
||||||
sol = data;
|
sol = data;
|
||||||
while((eol = strchr(sol, '\n'))) {
|
while((eol = strchr(sol, '\n'))) {
|
||||||
key = sol;
|
key = sol;
|
||||||
|
|
@ -422,6 +425,9 @@ static void load_properties(char *data)
|
||||||
tmp = value - 2;
|
tmp = value - 2;
|
||||||
while((tmp > key) && isspace(*tmp)) *tmp-- = 0;
|
while((tmp > key) && isspace(*tmp)) *tmp-- = 0;
|
||||||
|
|
||||||
|
if (prefix && strncmp(key, prefix, plen))
|
||||||
|
continue;
|
||||||
|
|
||||||
while(isspace(*value)) value++;
|
while(isspace(*value)) value++;
|
||||||
tmp = eol - 2;
|
tmp = eol - 2;
|
||||||
while((tmp > value) && isspace(*tmp)) *tmp-- = 0;
|
while((tmp > value) && isspace(*tmp)) *tmp-- = 0;
|
||||||
|
|
@ -430,7 +436,7 @@ static void load_properties(char *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void load_properties_from_file(const char *fn)
|
static void load_properties_from_file(const char *fn, char *prefix)
|
||||||
{
|
{
|
||||||
char *data;
|
char *data;
|
||||||
unsigned sz;
|
unsigned sz;
|
||||||
|
|
@ -438,7 +444,7 @@ static void load_properties_from_file(const char *fn)
|
||||||
data = read_file(fn, &sz);
|
data = read_file(fn, &sz);
|
||||||
|
|
||||||
if(data != 0) {
|
if(data != 0) {
|
||||||
load_properties(data);
|
load_properties(data, prefix);
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -511,7 +517,7 @@ void property_init(void)
|
||||||
|
|
||||||
void property_load_boot_defaults(void)
|
void property_load_boot_defaults(void)
|
||||||
{
|
{
|
||||||
load_properties_from_file(PROP_PATH_RAMDISK_DEFAULT);
|
load_properties_from_file(PROP_PATH_RAMDISK_DEFAULT, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int properties_inited(void)
|
int properties_inited(void)
|
||||||
|
|
@ -526,7 +532,7 @@ static void load_override_properties() {
|
||||||
|
|
||||||
ret = property_get("ro.debuggable", debuggable);
|
ret = property_get("ro.debuggable", debuggable);
|
||||||
if (ret && (strcmp(debuggable, "1") == 0)) {
|
if (ret && (strcmp(debuggable, "1") == 0)) {
|
||||||
load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
|
load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE, NULL);
|
||||||
}
|
}
|
||||||
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
|
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
|
||||||
}
|
}
|
||||||
|
|
@ -548,8 +554,9 @@ void start_property_service(void)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
load_properties_from_file(PROP_PATH_SYSTEM_BUILD);
|
load_properties_from_file(PROP_PATH_SYSTEM_BUILD, NULL);
|
||||||
load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT);
|
load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT, NULL);
|
||||||
|
load_properties_from_file(PROP_PATH_FACTORY, "ro.");
|
||||||
load_override_properties();
|
load_override_properties();
|
||||||
/* Read persistent properties after all default values have been loaded. */
|
/* Read persistent properties after all default values have been loaded. */
|
||||||
load_persistent_properties();
|
load_persistent_properties();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue