aboutsummaryrefslogtreecommitdiff
path: root/coreutils/ls.c
diff options
context:
space:
mode:
authorMatt Kraai <kraai@debian.org>2000-10-28 06:40:09 +0000
committerMatt Kraai <kraai@debian.org>2000-10-28 06:40:09 +0000
commita5bd26831f7f97b1641619b4c2fe519ac2a02155 (patch)
treefbf19a4cb5510e3d1b01505ae8663a915183a6cf /coreutils/ls.c
parentb273d6651813363d95fd08686d380db8eacf87c1 (diff)
downloadbusybox-w32-a5bd26831f7f97b1641619b4c2fe519ac2a02155.tar.gz
busybox-w32-a5bd26831f7f97b1641619b4c2fe519ac2a02155.tar.bz2
busybox-w32-a5bd26831f7f97b1641619b4c2fe519ac2a02155.zip
Make features independent.
Diffstat (limited to 'coreutils/ls.c')
-rw-r--r--coreutils/ls.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c
index b7329dfdf..a338c0e6a 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -458,7 +458,9 @@ void showdirs(struct dnode **dn, int ndirs)
458 dnd= splitdnarray(subdnp, nfiles, SPLIT_DIR); 458 dnd= splitdnarray(subdnp, nfiles, SPLIT_DIR);
459 dndirs= countdirs(subdnp, nfiles); 459 dndirs= countdirs(subdnp, nfiles);
460 if (dndirs > 0) { 460 if (dndirs > 0) {
461#ifdef BB_FEATURE_LS_SORTFILES
461 shellsort(dnd, dndirs); 462 shellsort(dnd, dndirs);
463#endif
462 showdirs(dnd, dndirs); 464 showdirs(dnd, dndirs);
463 free(dnd); /* free the array of dnode pointers to the dirs */ 465 free(dnd); /* free the array of dnode pointers to the dirs */
464 } 466 }
@@ -715,7 +717,6 @@ extern int ls_main(int argc, char **argv)
715 case 'a': disp_opts |= DISP_HIDDEN | DISP_DOT; break; 717 case 'a': disp_opts |= DISP_HIDDEN | DISP_DOT; break;
716 case 'C': style_fmt = STYLE_COLUMNS; break; 718 case 'C': style_fmt = STYLE_COLUMNS; break;
717 case 'd': disp_opts |= DISP_NOLIST; break; 719 case 'd': disp_opts |= DISP_NOLIST; break;
718 case 'e': list_fmt |= LIST_FULLTIME; break;
719 case 'g': /* ignore -- for ftp servers */ break; 720 case 'g': /* ignore -- for ftp servers */ break;
720 case 'i': list_fmt |= LIST_INO; break; 721 case 'i': list_fmt |= LIST_INO; break;
721 case 'l': style_fmt = STYLE_LONG; list_fmt |= LIST_LONG; break; 722 case 'l': style_fmt = STYLE_LONG; list_fmt |= LIST_LONG; break;
@@ -736,9 +737,24 @@ extern int ls_main(int argc, char **argv)
736 case 'X': sort_opts= SORT_EXT; break; 737 case 'X': sort_opts= SORT_EXT; break;
737#endif 738#endif
738#ifdef BB_FEATURE_LS_TIMESTAMPS 739#ifdef BB_FEATURE_LS_TIMESTAMPS
739 case 'c': time_fmt = TIME_CHANGE; sort_opts= SORT_CTIME; break; 740 case 'e': list_fmt |= LIST_FULLTIME; break;
740 case 't': sort_opts= SORT_MTIME; break; 741 case 'c':
741 case 'u': time_fmt = TIME_ACCESS; sort_opts= SORT_ATIME; break; 742 time_fmt = TIME_CHANGE;
743#ifdef BB_FEATURE_LS_SORTFILES
744 sort_opts= SORT_CTIME;
745#endif
746 break;
747 case 'u':
748 time_fmt = TIME_ACCESS;
749#ifdef BB_FEATURE_LS_SORTFILES
750 sort_opts= SORT_ATIME;
751#endif
752 break;
753 case 't':
754#ifdef BB_FEATURE_LS_SORTFILES
755 sort_opts= SORT_MTIME;
756#endif
757 break;
742#endif 758#endif
743#ifdef BB_FEATURE_LS_FOLLOWLINKS 759#ifdef BB_FEATURE_LS_FOLLOWLINKS
744 case 'L': follow_links= TRUE; break; 760 case 'L': follow_links= TRUE; break;
@@ -757,7 +773,7 @@ extern int ls_main(int argc, char **argv)
757 if (disp_opts & DISP_NOLIST) 773 if (disp_opts & DISP_NOLIST)
758 disp_opts &= ~DISP_RECURSIVE; /* no recurse if listing only dir */ 774 disp_opts &= ~DISP_RECURSIVE; /* no recurse if listing only dir */
759#endif 775#endif
760#ifdef BB_FEATURE_LS_TIMESTAMPS 776#if defined (BB_FEATURE_LS_TIMESTAMPS) && defined (BB_FEATURE_LS_SORTFILES)
761 if (time_fmt & TIME_CHANGE) sort_opts= SORT_CTIME; 777 if (time_fmt & TIME_CHANGE) sort_opts= SORT_CTIME;
762 if (time_fmt & TIME_ACCESS) sort_opts= SORT_ATIME; 778 if (time_fmt & TIME_ACCESS) sort_opts= SORT_ATIME;
763#endif 779#endif