diff --git a/Android.bp b/Android.bp index 3bdbc32..77c2560 100644 --- a/Android.bp +++ b/Android.bp @@ -2,10 +2,10 @@ cc_binary { name: "pd-mapper", vendor: true, srcs: [ - "pd-mapper.c", - "assoc.c", - "json.c", - "servreg_loc.c", + "assoc.c", + "json.c", + "pd-mapper.c", + "servreg_loc.c", ], shared_libs: ["libqrtr"], } diff --git a/json.c b/json.c index 3bc1e68..618955f 100644 --- a/json.c +++ b/json.c @@ -32,7 +32,9 @@ #include #include #include +#if !defined(__ANDROID__) #include +#endif #include #include #include @@ -315,7 +317,9 @@ struct json_value *json_parse(const char *json) return root; } +#if !defined(__ANDROID__) extern int lzma_decomp(const char *file); +#endif struct json_value *json_parse_file(const char *file) { @@ -324,10 +328,12 @@ struct json_value *json_parse_file(const char *file) int ret; int fd; +#if !defined(__ANDROID__) if ((strlen(file) > 3) && !strcmp(&file[strlen(file)-3], ".xz")) fd = lzma_decomp(file); else - fd = open(file, O_RDONLY); +#endif + fd = open(file, O_RDONLY); if (fd < 0) { fprintf(stderr, "failed to open %s: %s\n", file, strerror(errno)); diff --git a/pd-mapper.c b/pd-mapper.c index 1167e02..d1652b6 100644 --- a/pd-mapper.c +++ b/pd-mapper.c @@ -210,14 +210,20 @@ static int concat_path(char *base_path, char *firmware_path, char *path, size_t #ifndef ANDROID #define FIRMWARE_BASE "/lib/firmware/" #define FIRMWARE_PARAM_PATH "/sys/module/firmware_class/parameters/path" +#else +#define FIRMWARE_BASE "/vendor/firmware/" +#endif static DIR *opendir_firmware(char *firmware_path, char *out_path_opened, size_t out_path_size) { - int ret = 0, n; + int ret = 0; DIR *fw_dir = NULL; - int fw_param_path = open(FIRMWARE_PARAM_PATH, O_RDONLY); char fw_sysfs_path[PATH_MAX]; +#ifndef ANDROID + int n; + int fw_param_path = open(FIRMWARE_PARAM_PATH, O_RDONLY); + if (fw_param_path < 0) { warn("Cannot open sysfs path: %s", FIRMWARE_PARAM_PATH); close(fw_param_path); @@ -247,6 +253,7 @@ static DIR *opendir_firmware(char *firmware_path, char *out_path_opened, size_t return fw_dir; err: +#endif ret = concat_path(FIRMWARE_BASE, firmware_path, out_path_opened, out_path_size); if (ret) return fw_dir; @@ -257,14 +264,6 @@ static DIR *opendir_firmware(char *firmware_path, char *out_path_opened, size_t return fw_dir; } -#else -#define FIRMWARE_BASE "/vendor/firmware/" - -DIR opendir_firmware(char *firmware_path) -{ - return open_concat_path("/vendor/firmware/", firmware_path); -} -#endif static char *known_extensions[] = { ".jsn.xz",