aboutsummaryrefslogtreecommitdiff
path: root/findutils/find.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2006-10-08 12:49:22 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2006-10-08 12:49:22 +0000
commit1385899416a4396385ad421ae1f532be7103738a (patch)
treefc4d14a910593d1235318bb36abe5e9f72d2039e /findutils/find.c
parent5625415085e68ac5e150f54e685417c866620d76 (diff)
downloadbusybox-w32-1385899416a4396385ad421ae1f532be7103738a.tar.gz
busybox-w32-1385899416a4396385ad421ae1f532be7103738a.tar.bz2
busybox-w32-1385899416a4396385ad421ae1f532be7103738a.zip
attempt to regularize atoi mess.
Diffstat (limited to 'findutils/find.c')
-rw-r--r--findutils/find.c45
1 files changed, 18 insertions, 27 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 7e3613af4..913a778eb 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -216,53 +216,47 @@ int find_main(int argc, char **argv)
216#endif 216#endif
217#ifdef CONFIG_FEATURE_FIND_PERM 217#ifdef CONFIG_FEATURE_FIND_PERM
218 } else if (strcmp(argv[i], "-perm") == 0) { 218 } else if (strcmp(argv[i], "-perm") == 0) {
219 char *end;
220 if (++i == argc) 219 if (++i == argc)
221 bb_error_msg_and_die(bb_msg_requires_arg, "-perm"); 220 bb_error_msg_and_die(bb_msg_requires_arg, "-perm");
222 perm_mask = strtol(argv[i], &end, 8); 221 perm_mask = xstrtol_range(argv[i], 8, 0, 07777);
223 if ((end[0] != '\0') || (perm_mask > 07777)) 222 perm_char = argv[i][0];
224 bb_error_msg_and_die(bb_msg_invalid_arg, argv[i], "-perm"); 223 if (perm_char == '-')
225 if ((perm_char = argv[i][0]) == '-')
226 perm_mask = -perm_mask; 224 perm_mask = -perm_mask;
227#endif 225#endif
228#ifdef CONFIG_FEATURE_FIND_MTIME 226#ifdef CONFIG_FEATURE_FIND_MTIME
229 } else if (strcmp(argv[i], "-mtime") == 0) { 227 } else if (strcmp(argv[i], "-mtime") == 0) {
230 char *end;
231 if (++i == argc) 228 if (++i == argc)
232 bb_error_msg_and_die(bb_msg_requires_arg, "-mtime"); 229 bb_error_msg_and_die(bb_msg_requires_arg, "-mtime");
233 mtime_days = strtol(argv[i], &end, 10); 230 mtime_days = xatol(argv[i]);
234 if (end[0] != '\0') 231 mtime_char = argv[i][0];
235 bb_error_msg_and_die(bb_msg_invalid_arg, argv[i], "-mtime"); 232 if (mtime_char == '-')
236 if ((mtime_char = argv[i][0]) == '-')
237 mtime_days = -mtime_days; 233 mtime_days = -mtime_days;
238#endif 234#endif
239#ifdef CONFIG_FEATURE_FIND_MMIN 235#ifdef CONFIG_FEATURE_FIND_MMIN
240 } else if (strcmp(argv[i], "-mmin") == 0) { 236 } else if (strcmp(argv[i], "-mmin") == 0) {
241 char *end;
242 if (++i == argc) 237 if (++i == argc)
243 bb_error_msg_and_die(bb_msg_requires_arg, "-mmin"); 238 bb_error_msg_and_die(bb_msg_requires_arg, "-mmin");
244 mmin_mins = strtol(argv[i], &end, 10); 239 mmin_mins = xatol(argv[i]);
245 if (end[0] != '\0') 240 mmin_char = argv[i][0];
246 bb_error_msg_and_die(bb_msg_invalid_arg, argv[i], "-mmin"); 241 if (mmin_char == '-')
247 if ((mmin_char = argv[i][0]) == '-')
248 mmin_mins = -mmin_mins; 242 mmin_mins = -mmin_mins;
249#endif 243#endif
250#ifdef CONFIG_FEATURE_FIND_XDEV 244#ifdef CONFIG_FEATURE_FIND_XDEV
251 } else if (strcmp(argv[i], "-xdev") == 0) { 245 } else if (strcmp(argv[i], "-xdev") == 0) {
252 struct stat stbuf; 246 struct stat stbuf;
253 247
254 xdev_count = ( firstopt - 1 ) ? ( firstopt - 1 ) : 1; 248 xdev_count = (firstopt - 1) ? (firstopt - 1) : 1;
255 xdev_dev = xmalloc ( xdev_count * sizeof( dev_t )); 249 xdev_dev = xmalloc(xdev_count * sizeof(dev_t));
256 250
257 if ( firstopt == 1 ) { 251 if (firstopt == 1) {
258 xstat ( ".", &stbuf ); 252 xstat(".", &stbuf);
259 xdev_dev [0] = stbuf. st_dev; 253 xdev_dev[0] = stbuf.st_dev;
260 } 254 }
261 else { 255 else {
262 256
263 for (i = 1; i < firstopt; i++) { 257 for (i = 1; i < firstopt; i++) {
264 xstat ( argv [i], &stbuf ); 258 xstat(argv[i], &stbuf);
265 xdev_dev [i-1] = stbuf. st_dev; 259 xdev_dev[i-1] = stbuf.st_dev;
266 } 260 }
267 } 261 }
268#endif 262#endif
@@ -271,17 +265,14 @@ int find_main(int argc, char **argv)
271 struct stat stat_newer; 265 struct stat stat_newer;
272 if (++i == argc) 266 if (++i == argc)
273 bb_error_msg_and_die(bb_msg_requires_arg, "-newer"); 267 bb_error_msg_and_die(bb_msg_requires_arg, "-newer");
274 xstat (argv[i], &stat_newer); 268 xstat(argv[i], &stat_newer);
275 newer_mtime = stat_newer.st_mtime; 269 newer_mtime = stat_newer.st_mtime;
276#endif 270#endif
277#ifdef CONFIG_FEATURE_FIND_INUM 271#ifdef CONFIG_FEATURE_FIND_INUM
278 } else if (strcmp(argv[i], "-inum") == 0) { 272 } else if (strcmp(argv[i], "-inum") == 0) {
279 char *end;
280 if (++i == argc) 273 if (++i == argc)
281 bb_error_msg_and_die(bb_msg_requires_arg, "-inum"); 274 bb_error_msg_and_die(bb_msg_requires_arg, "-inum");
282 inode_num = strtol(argv[i], &end, 10); 275 inode_num = xatoul(argv[i]);
283 if (end[0] != '\0')
284 bb_error_msg_and_die(bb_msg_invalid_arg, argv[i], "-inum");
285#endif 276#endif
286#ifdef CONFIG_FEATURE_FIND_EXEC 277#ifdef CONFIG_FEATURE_FIND_EXEC
287 } else if (strcmp(argv[i], "-exec") == 0) { 278 } else if (strcmp(argv[i], "-exec") == 0) {