OSDN Git Service

Rename .zip file if necessary.
authorFelipe Leme <felipeal@google.com>
Fri, 26 Feb 2016 23:03:52 +0000 (15:03 -0800)
committerFelipe Leme <felipeal@google.com>
Fri, 26 Feb 2016 23:26:12 +0000 (15:26 -0800)
Users have the option to rename the suffix of the files generated by
dumpstate by letting Shell set the dumpstate.PID.name property.

This works fine for text files and used to work for zip files as well,
but now the zip file is opened earlier in the process, so it has to be
renamed at the end.

BUG: 27384407
Change-Id: I288d8eb4a3ffe0161b86cdce14f63e9bfdf865ab

cmds/dumpstate/dumpstate.cpp

index 3abd8f0..9bc5b5c 100644 (file)
@@ -1335,6 +1335,17 @@ int main(int argc, char *argv[]) {
                 do_text_file = true;
             } else {
                 do_text_file = false;
+                // Since zip file is already created, it needs to be renamed.
+                std::string new_path = bugreport_dir + "/" + base_name + "-" + suffix + ".zip";
+                if (path != new_path) {
+                    MYLOGD("Renaming zip file from %s to %s\n", path.c_str(), new_path.c_str());
+                    if (rename(path.c_str(), new_path.c_str())) {
+                        MYLOGE("rename(%s, %s): %s\n", path.c_str(),
+                                new_path.c_str(), strerror(errno));
+                    } else {
+                        path = new_path;
+                    }
+                }
             }
         }
         if (do_text_file) {