diff --git a/adb/file_sync_client.cpp b/adb/file_sync_client.cpp
index 56859b5..6087c06 100644
--- a/adb/file_sync_client.cpp
+++ b/adb/file_sync_client.cpp
@@ -467,7 +467,7 @@
     unsigned int time;
     unsigned int mode;
     uint64_t size;
-    int flag;
+    bool skip;
 };
 
 static copyinfo mkcopyinfo(const char* spath, const char* dpath, const char* name, bool isdir) {
@@ -477,7 +477,7 @@
     result.time = 0;
     result.mode = 0;
     result.size = 0;
-    result.flag = 0;
+    result.skip = false;
     return result;
 }
 
@@ -572,14 +572,14 @@
                 /* for links, we cannot update the atime/mtime */
                 if ((S_ISREG(ci.mode & mode) && timestamp == ci.time) ||
                         (S_ISLNK(ci.mode & mode) && timestamp >= ci.time)) {
-                    ci.flag = 1;
+                    ci.skip = true;
                 }
             }
         }
     }
 
     for (const copyinfo& ci : filelist) {
-        if (ci.flag == 0) {
+        if (!ci.skip) {
             if (list_only) {
                 fprintf(stderr, "would push: %s -> %s\n", ci.src.c_str(),
                         ci.dst.c_str());
@@ -726,7 +726,7 @@
     int pulled = 0;
     int skipped = 0;
     for (const copyinfo &ci : filelist) {
-        if (ci.flag == 0) {
+        if (!ci.skip) {
             sc.Printf("pull: %s -> %s", ci.src.c_str(), ci.dst.c_str());
             if (!sync_recv(sc, ci.src.c_str(), ci.dst.c_str())) {
                 return false;
