1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include <cutils/properties.h>
5
6 #include "dynarray.h"
7
record_prop(const char * key,const char * name,void * opaque)8 static void record_prop(const char* key, const char* name, void* opaque)
9 {
10 strlist_t* list = opaque;
11 char temp[PROP_VALUE_MAX + PROP_NAME_MAX + 16];
12 snprintf(temp, sizeof temp, "[%s]: [%s]", key, name);
13 strlist_append_dup(list, temp);
14 }
15
list_properties(void)16 static void list_properties(void)
17 {
18 strlist_t list[1] = { STRLIST_INITIALIZER };
19
20 /* Record properties in the string list */
21 (void)property_list(record_prop, list);
22
23 /* Sort everything */
24 strlist_sort(list);
25
26 /* print everything */
27 STRLIST_FOREACH(list, str, printf("%s\n", str));
28
29 /* voila */
30 strlist_done(list);
31 }
32
getprop_main(int argc,char * argv[])33 int getprop_main(int argc, char *argv[])
34 {
35 if (argc == 1) {
36 list_properties();
37 } else {
38 char value[PROPERTY_VALUE_MAX];
39 char *default_value;
40 if(argc > 2) {
41 default_value = argv[2];
42 } else {
43 default_value = "";
44 }
45
46 property_get(argv[1], value, default_value);
47 printf("%s\n", value);
48 }
49 return 0;
50 }
51