|
Lines 41-47
Link Here
|
| 41 |
char chk_hash = 1; |
41 |
char chk_hash = 1; |
| 42 |
char chk_mtime = 1; |
42 |
char chk_mtime = 1; |
| 43 |
struct stat st; |
43 |
struct stat st; |
| 44 |
size_t num_files, num_files_ok, num_files_unknown, num_files_ignored = 0; |
44 |
size_t num_files, num_files_ok, num_files_unknown, num_files_ignored; |
| 45 |
char buf[_Q_PATH_MAX], filename[_Q_PATH_MAX]; |
45 |
char buf[_Q_PATH_MAX], filename[_Q_PATH_MAX]; |
| 46 |
char buffer[_Q_PATH_MAX]; |
46 |
char buffer[_Q_PATH_MAX]; |
| 47 |
|
47 |
|
|
Lines 101-107
Link Here
|
| 101 |
if ((fp = fopen(buf, "r")) == NULL) |
101 |
if ((fp = fopen(buf, "r")) == NULL) |
| 102 |
continue; |
102 |
continue; |
| 103 |
strncat(buf, "~", sizeof(buf)); |
103 |
strncat(buf, "~", sizeof(buf)); |
| 104 |
num_files = num_files_ok = num_files_unknown = 0; |
104 |
num_files = num_files_ok = num_files_unknown = num_files_ignored = 0; |
| 105 |
printf("%sing %s%s/%s%s ...\n", |
105 |
printf("%sing %s%s/%s%s ...\n", |
| 106 |
(qc_update ? "Updat" : "Check"), |
106 |
(qc_update ? "Updat" : "Check"), |
| 107 |
GREEN, dentry->d_name, de->d_name, NORM); |
107 |
GREEN, dentry->d_name, de->d_name, NORM); |
|
Lines 162-172
Link Here
|
| 162 |
} |
162 |
} |
| 163 |
hashed_file = (char*)hash_file(e->name, hash_algo); |
163 |
hashed_file = (char*)hash_file(e->name, hash_algo); |
| 164 |
if (!hashed_file) { |
164 |
if (!hashed_file) { |
| 165 |
if (qc_update) { |
165 |
if (qc_update) |
| 166 |
fputs(buffer, fpx); |
166 |
fputs(buffer, fpx); |
| 167 |
if (!verbose) |
|
|
| 168 |
continue; |
| 169 |
} |
| 170 |
printf(" %sPERM %4o%s: %s\n", RED, (st.st_mode & 07777), NORM, e->name); |
167 |
printf(" %sPERM %4o%s: %s\n", RED, (st.st_mode & 07777), NORM, e->name); |
| 171 |
++num_files_unknown; |
168 |
++num_files_unknown; |
| 172 |
free(hashed_file); |
169 |
free(hashed_file); |