diff options
Diffstat (limited to 'fastboot/engine.c')
-rw-r--r-- | fastboot/engine.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/fastboot/engine.c b/fastboot/engine.c index 0fab703..2f90e41 100644 --- a/fastboot/engine.c +++ b/fastboot/engine.c @@ -30,10 +30,10 @@ #include "fs.h" #include <errno.h> -#include <stdio.h> -#include <stdlib.h> #include <stdarg.h> #include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> #include <string.h> #include <sys/stat.h> #include <sys/types.h> @@ -45,6 +45,10 @@ #include <sys/mman.h> #endif +#ifndef __unused +#define __unused __attribute__((__unused__)) +#endif + #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) #define OP_DOWNLOAD 1 @@ -102,18 +106,19 @@ int fb_getvar(struct usb_handle *usb, char *response, const char *fmt, ...) * Not all devices report the filesystem type, so don't report any errors, * just return false. */ -int fb_format_supported(usb_handle *usb, const char *partition) +int fb_format_supported(usb_handle *usb, const char *partition, const char *type_override) { - char response[FB_RESPONSE_SZ + 1] = {0,}; + char fs_type[FB_RESPONSE_SZ + 1] = {0,}; int status; - unsigned int i; - status = fb_getvar(usb, response, "partition-type:%s", partition); + if (type_override) { + return !!fs_get_generator(type_override); + } + status = fb_getvar(usb, fs_type, "partition-type:%s", partition); if (status) { return 0; } - - return !!fs_get_generator(response); + return !!fs_get_generator(fs_type); } static int cb_default(Action *a, int status, char *resp) @@ -195,9 +200,7 @@ void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, unsigned sz) static int match(char *str, const char **value, unsigned count) { - const char *val; unsigned n; - int len; for (n = 0; n < count; n++) { const char *val = value[n]; @@ -323,7 +326,7 @@ void fb_queue_query_save(const char *var, char *dest, unsigned dest_size) a->func = cb_save; } -static int cb_do_nothing(Action *a, int status, char *resp) +static int cb_do_nothing(Action *a __unused, int status __unused, char *resp __unused) { fprintf(stderr,"\n"); return 0; |