• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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