am b2c34ece: Merge "adb: Don\'t clobber block devices during push"

* commit 'b2c34ece647c212baa30c474394c498a2d6dd61f':
  adb: Don't clobber block devices during push
diff --git a/adb/file_sync_service.c b/adb/file_sync_service.c
index e981c2a..25bfdc9 100644
--- a/adb/file_sync_service.c
+++ b/adb/file_sync_service.c
@@ -339,11 +339,14 @@
     if(!tmp || errno) {
         mode = 0644;
         is_link = 0;
+    } else {
+        struct stat st;
+        /* Don't delete files before copying if they are not "regular" */
+        if(lstat(path, &st) || S_ISREG(st.st_mode) || S_ISLNK(st.st_mode)) {
+            adb_unlink(path);
+        }
     }
 
-    adb_unlink(path);
-
-
 #ifdef HAVE_SYMLINKS
     if(is_link)
         ret = handle_send_link(s, path, buffer);