Mark ui_print with __printflike.

And fix an issue as a result of the change.

Test: mmma -j bootable/recovery
Change-Id: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
Merged-In: I94e6384a1f39e9c37a8ed029d235142738d6e5d3
diff --git a/common.h b/common.h
index a851306..4228e71 100644
--- a/common.h
+++ b/common.h
@@ -40,7 +40,7 @@
 // fopen a file, mounting volumes and making parent dirs as necessary.
 FILE* fopen_path(const std::string& path, const char* mode);
 
-void ui_print(const char* format, ...);
+void ui_print(const char* format, ...) __printflike(1, 2);
 
 bool is_ro_debuggable();
 
diff --git a/recovery.cpp b/recovery.cpp
index dbbac7a..7c83744 100644
--- a/recovery.cpp
+++ b/recovery.cpp
@@ -1296,7 +1296,7 @@
                         charge_status != android::BATTERY_STATUS_NOT_CHARGING);
         android::BatteryProperty capacity;
         android::status_t status = monitor.getProperty(android::BATTERY_PROP_CAPACITY, &capacity);
-        ui_print("charge_status %d, charged %d, status %d, capacity %lld\n", charge_status,
+        ui_print("charge_status %d, charged %d, status %d, capacity %" PRId64 "\n", charge_status,
                  charged, status, capacity.valueInt64);
         // At startup, the battery drivers in devices like N5X/N6P take some time to load
         // the battery profile. Before the load finishes, it reports value 50 as a fake