aboutsummaryrefslogtreecommitdiff
path: root/sysutils/tree/files/patch-tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/tree/files/patch-tree.c')
-rw-r--r--sysutils/tree/files/patch-tree.c65
1 files changed, 20 insertions, 45 deletions
diff --git a/sysutils/tree/files/patch-tree.c b/sysutils/tree/files/patch-tree.c
index e25dd2537642..5a8681f4b78e 100644
--- a/sysutils/tree/files/patch-tree.c
+++ b/sysutils/tree/files/patch-tree.c
@@ -1,62 +1,37 @@
---- tree.c.orig Tue Jan 9 23:07:16 2007
-+++ tree.c Thu Jan 25 18:58:28 2007
-@@ -17,7 +17,6 @@
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
--#include <features.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <time.h>
-@@ -148,7 +147,7 @@
- int findino(ino_t, dev_t);
- void *xmalloc(size_t), *xrealloc(void *, size_t);
- void listdir(char *, int *, int *, u_long, dev_t), usage(int);
--void parse_dir_colors(), printit(unsigned char *), free_dir(struct _info **), indent();
-+void parse_dir_colors(), printit(char *), free_dir(struct _info **), indent();
- void saveino(ino_t, dev_t);
- char **split(char *, char *, int *);
- char *gidtoname(int), *uidtoname(int), *do_date(time_t);
-@@ -178,12 +177,6 @@
- char *sLevel, *curdir, *outfilename = NULL;
- FILE *outfile;
- int *dirs, maxdirs;
--
--#ifdef CYGWIN
--extern int MB_CUR_MAX;
--#else
--extern size_t MB_CUR_MAX;
--#endif
-
- int main(int argc, char **argv)
- {
-@@ -622,7 +615,7 @@
+--- tree.c.orig 2008-08-28 03:05:43.000000000 +0800
++++ tree.c 2008-09-22 21:37:05.000000000 +0800
+@@ -663,7 +663,7 @@
#ifdef __USE_FILE_OFFSET64
if (inodeflag) sprintf(path," %7lld",(*dir)->inode);
#else
- if (inodeflag) sprintf(path," %7ld",(*dir)->inode);
-+ if (inodeflag) sprintf(path," %7i",(*dir)->inode);
++ if (inodeflag) sprintf(path," %7u",(*dir)->inode);
#endif
if (devflag) sprintf(path+strlen(path), " %3d", (int)(*dir)->dev);
#ifdef __EMX__
-@@ -1041,8 +1034,10 @@
+@@ -1087,8 +1087,10 @@
} else {
if (Hflag) fprintf(outfile,"<br>\t\t\t\t ");
for(i=0;dirs[i];i++) {
+ if( dirs[i] <= 0 )
-+ break;
++ break;
fprintf(outfile,"%s ",
- dirs[i+1] ? (dirs[i]==1 ? linedraw->vert : (Hflag? "&nbsp;&nbsp;&nbsp;" : " ") )
-+ dirs[i+1] > 0 ? (dirs[i]==1 ? linedraw->vert : (Hflag? "&nbsp;&nbsp;&nbsp;" : " ") )
++ dirs[i+1] > 0 ? (dirs[i]==1 ? linedraw->vert : (Hflag? "&nbsp;&nbsp;&nbsp;" : " ") )
: (dirs[i]==1 ? linedraw->vert_left:linedraw->corner));
}
}
-@@ -1180,7 +1175,7 @@
- return t->name;
- }
-
--void printit(unsigned char *s)
-+void printit(char *s)
- {
- int c;
+@@ -1276,7 +1276,12 @@
+ char *unit="BKMGTPEZY";
+ int idx;
+- if (!hflag) sprintf(buf, sizeof(off_t) == sizeof(long long)? " %11lld" : " %9ld", size);
++ if (!hflag) {
++ if (sizeof(off_t) == sizeof(__int64_t))
++ sprintf(buf, sizeof(long) == sizeof(long long) ? " %11ld" : " %11lld", size);
++ else
++ sprintf(buf, sizeof(long) == sizeof(long long) ? " %9ld" : " %9lld", size);
++ }
+ else {
+ for (idx=size<1024?0:1; size >= (1024*1024); idx++,size>>=10);
+ if (!idx) sprintf(buf, " %4d", (int)size);