Merge "aflags: make flag storage error message more user-friendly" into main am: 1986c86bb2

Original change: https://android-review.googlesource.com/c/platform/build/+/2995977

Change-Id: If50b72c08b6feef7ced1383794f9a791c6963ae8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/tools/aconfig/aflags/src/device_config_source.rs b/tools/aconfig/aflags/src/device_config_source.rs
index 2589f3d..f1a1f0d 100644
--- a/tools/aconfig/aflags/src/device_config_source.rs
+++ b/tools/aconfig/aflags/src/device_config_source.rs
@@ -104,11 +104,16 @@
     if !output.status.success() {
         let reason = match output.status.code() {
             Some(code) => {
-                format!("exit code {}, output was {}", code, str::from_utf8(&output.stdout)?)
+                let output = str::from_utf8(&output.stdout)?;
+                if !output.is_empty() {
+                    format!("exit code {code}, output was {output}")
+                } else {
+                    format!("exit code {code}")
+                }
             }
             None => "terminated by signal".to_string(),
         };
-        bail!("failed to execute device_config: {}", reason);
+        bail!("failed to access flag storage: {}", reason);
     }
     Ok(str::from_utf8(&output.stdout)?.to_string())
 }