app: fastboot: Add support for getvar all
Add support for fastboot getvar all command
Change-Id: I5da495dbadba3671ab18c791b85d204efda86b6c
diff --git a/app/aboot/fastboot.c b/app/aboot/fastboot.c
index 4dc955d..6f1841f 100644
--- a/app/aboot/fastboot.c
+++ b/app/aboot/fastboot.c
@@ -2,7 +2,7 @@
* Copyright (c) 2009, Google Inc.
* All rights reserved.
*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -428,10 +428,32 @@
fastboot_ack("OKAY", info);
}
+static void getvar_all()
+{
+ struct fastboot_var *var;
+ char getvar_all[64];
+
+ for (var = varlist; var; var = var->next)
+ {
+ strlcpy((char *) getvar_all, var->name, sizeof(getvar_all));
+ strlcat((char *) getvar_all, ":", sizeof(getvar_all));
+ strlcat((char *) getvar_all, var->value, sizeof(getvar_all));
+ fastboot_info(getvar_all);
+ memset((void *) getvar_all, '\0', sizeof(getvar_all));
+ }
+ fastboot_okay("");
+}
+
static void cmd_getvar(const char *arg, void *data, unsigned sz)
{
struct fastboot_var *var;
+ if (!strncmp("all", arg, strlen(arg)))
+ {
+ getvar_all();
+ return;
+ }
+
for (var = varlist; var; var = var->next) {
if (!strcmp(var->name, arg)) {
fastboot_okay(var->value);