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