|
|
|
|
Index: man/tree.1
|
|
|
|
|
--- man/tree.1.orig 2008-06-04 17:35:31 +0200
|
|
|
|
|
+++ man/tree.1 2008-06-07 20:49:03 +0200
|
|
|
|
|
@@ -25,8 +25,8 @@
|
|
|
|
|
.br
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
|
\fITree\fP is a recursive directory listing program that produces a depth
|
|
|
|
|
-indented listing of files, which is colorized ala \fIdircolors\fP if the \fBLS_COLORS\fP
|
|
|
|
|
-environment variable is set and output is to tty. With no arguments,
|
|
|
|
|
+indented listing of files. Color is supported ala \fIdircolors\fP if the \fBLS_COLORS\fP
|
|
|
|
|
+environment variable is set, output is to a tty, and the \fB-C\fP flag is used. With no arguments,
|
|
|
|
|
\fItree\fP lists the files in the current directory. When directory
|
|
|
|
|
arguments are given, \fItree\fP lists all the files and/or directories found
|
|
|
|
|
in the given directories each in turn. Upon completion of listing all
|
|
|
|
|
@@ -149,11 +149,7 @@
|
|
|
|
|
.PP
|
|
|
|
|
.TP
|
|
|
|
|
.B -N
|
|
|
|
|
-Print non-printable characters as is instead of the default carrot notation.
|
|
|
|
|
-.PP
|
|
|
|
|
-.TP
|
|
|
|
|
-.B -v
|
|
|
|
|
-Sort the output by version.
|
|
|
|
|
+Print non-printable characters as is instead of the default caret notation.
|
|
|
|
|
.PP
|
|
|
|
|
.TP
|
|
|
|
|
.B -r
|
|
|
|
|
Index: tree.c
|
|
|
|
|
--- tree.c.orig 2008-06-04 21:45:46 +0200
|
|
|
|
|
+++ tree.c 2008-06-07 20:49:20 +0200
|
|
|
|
|
@@ -33,6 +33,12 @@
|
|
|
|
|
#include <limits.h>
|
|
|
|
|
#include <pwd.h>
|
|
|
|
|
#include <grp.h>
|
|
|
|
|
+
|
|
|
|
|
+#if !defined(LINUX_BIGFILE) && defined(__linux__)
|
|
|
|
|
+# define stat64 stat
|
|
|
|
|
+# define lstat64 lstat
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
|
|
#ifdef __EMX__ /* for OS/2 systems */
|
|
|
|
|
# define INCL_DOSFILEMGR
|
|
|
|
|
# define INCL_DOSNLS
|
|
|
|
|
@@ -143,7 +149,6 @@
|
|
|
|
|
/* Function prototypes: */
|
|
|
|
|
int color(u_short, char *, char, char), cmd(char *), patmatch(char *, char *);
|
|
|
|
|
int alnumsort(struct _info **, struct _info **);
|
|
|
|
|
-int versort(struct _info **a, struct _info **b);
|
|
|
|
|
int reversealnumsort(struct _info **, struct _info **);
|
|
|
|
|
int timesort(struct _info **, struct _info **);
|
|
|
|
|
int dirsfirstsort(struct _info **, struct _info **);
|
|
|
|
|
@@ -200,7 +205,8 @@
|
|
|
|
|
q = p = dtotal = ftotal = 0;
|
|
|
|
|
aflag = dflag = fflag = lflag = pflag = sflag = Fflag = uflag = gflag = FALSE;
|
|
|
|
|
Dflag = qflag = Nflag = Hflag = Rflag = hflag = FALSE;
|
|
|
|
|
- noindent = force_color = nocolor = xdev = noreport = nolinks = FALSE;
|
|
|
|
|
+ noindent = force_color = xdev = noreport = nolinks = FALSE;
|
|
|
|
|
+ nocolor = TRUE;
|
|
|
|
|
inodeflag = devflag = FALSE;
|
|
|
|
|
flimit = 0;
|
|
|
|
|
dirs = xmalloc(sizeof(int) * (maxdirs=4096));
|
|
|
|
|
@@ -296,9 +302,6 @@
|
|
|
|
|
case 'r':
|
|
|
|
|
cmpfunc = reversealnumsort;
|
|
|
|
|
break;
|
|
|
|
|
- case 'v':
|
|
|
|
|
- cmpfunc = versort;
|
|
|
|
|
- break;
|
|
|
|
|
case 'H':
|
|
|
|
|
Hflag = TRUE;
|
|
|
|
|
if (argv[n] == NULL) {
|
|
|
|
|
@@ -658,7 +661,7 @@
|
|
|
|
|
#ifdef __USE_FILE_OFFSET64
|
|
|
|
|
if (inodeflag) sprintf(path," %7lld",(*dir)->inode);
|
|
|
|
|
#else
|
|
|
|
|
- if (inodeflag) sprintf(path," %7ld",(*dir)->inode);
|
|
|
|
|
+ if (inodeflag) sprintf(path," %7ld", (long int)((*dir)->inode));
|
|
|
|
|
#endif
|
|
|
|
|
if (devflag) sprintf(path+strlen(path), " %3d", (int)(*dir)->dev);
|
|
|
|
|
#ifdef __EMX__
|
|
|
|
|
@@ -917,11 +920,6 @@
|
|
|
|
|
return strcmp((*a)->name,(*b)->name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
-int versort(struct _info **a, struct _info **b)
|
|
|
|
|
-{
|
|
|
|
|
- return strverscmp((*a)->name,(*b)->name);
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
int reversealnumsort(struct _info **a, struct _info **b)
|
|
|
|
|
{
|
|
|
|
|
return strcmp((*b)->name,(*a)->name);
|