- Timestamp:
- Aug 25, 2020, 9:11:44 AM (6 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.basic/file.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.basic/file.c
r7917 r41405 5 5 /* usage: file (filename) [var] */ 6 6 7 int status, vstat ;7 int status, vstat, N; 8 8 struct stat fstats; 9 9 10 if (argc < 2) { 11 gprint (GP_ERR, "USAGE: file (filename) [var]\n"); 10 int CAN_READ = FALSE; 11 if ((N = get_argument (argc, argv, "-can-read"))) { 12 remove_argument (N, &argc, argv); 13 CAN_READ = TRUE; 14 } 15 int CAN_WRITE = FALSE; 16 if ((N = get_argument (argc, argv, "-can-write"))) { 17 remove_argument (N, &argc, argv); 18 CAN_WRITE = TRUE; 19 } 20 21 if ((argc < 2) || (CAN_READ && CAN_WRITE)) { 22 gprint (GP_ERR, "USAGE: file (filename) [var] [-can-read] [-can-write]\n"); 23 gprint (GP_ERR, " NOTE: only one of -can-read or -can-write is allowed\n"); 12 24 return (FALSE); 25 } 26 27 if (CAN_READ) { 28 status = !access (argv[1], F_OK | R_OK); 29 if (argc == 3) { 30 set_int_variable (argv[2], status); 31 } else { 32 gprint (GP_ERR, "file %s can", argv[1]); 33 if (!status) gprint (GP_ERR, "not"); 34 gprint (GP_ERR, " be read\n"); 35 } 36 return TRUE; 37 } 38 if (CAN_WRITE) { 39 status = !access (argv[1], F_OK | R_OK | W_OK); 40 if (argc == 3) { 41 set_int_variable (argv[2], status); 42 } else { 43 gprint (GP_ERR, "file %s can", argv[1]); 44 if (!status) gprint (GP_ERR, "not"); 45 gprint (GP_ERR, " be written\n"); 46 } 47 return TRUE; 13 48 } 14 49 … … 18 53 19 54 if (argc == 3) { 20 21 55 set_int_variable (argv[2], vstat); 22 23 56 } else { 24 25 57 gprint (GP_ERR, "file %s is ", argv[1]); 26 58 if (!vstat) gprint (GP_ERR, "not "); 27 59 gprint (GP_ERR, "found\n"); 28 29 60 } 30 61 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
