9p: tflag sorts by mtime
R=rsc CC=codebot http://codereview.appspot.com/1265043
This commit is contained in:
parent
c988c8adf1
commit
0efbfd36f5
1 changed files with 27 additions and 5 deletions
30
src/cmd/9p.c
30
src/cmd/9p.c
|
|
@ -476,6 +476,21 @@ dircmp(const void *va, const void *vb)
|
||||||
return strcmp(a->name, b->name);
|
return strcmp(a->name, b->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
timecmp(const void *va, const void *vb)
|
||||||
|
{
|
||||||
|
Dir *a, *b;
|
||||||
|
|
||||||
|
a = (Dir*)va;
|
||||||
|
b = (Dir*)vb;
|
||||||
|
if(a->mtime < b->mtime)
|
||||||
|
return -1;
|
||||||
|
else if(a->mtime > b->mtime)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
char *dot[] = { "." };
|
char *dot[] = { "." };
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -483,14 +498,14 @@ xls(int argc, char **argv)
|
||||||
{
|
{
|
||||||
char *err, *name, *xname, *f[4], buf[4096];
|
char *err, *name, *xname, *f[4], buf[4096];
|
||||||
int nf, i, j, l, sort;
|
int nf, i, j, l, sort;
|
||||||
int lflag, dflag, n, len[4];
|
int lflag, dflag, tflag, n, len[4];
|
||||||
Dir *d;
|
Dir *d;
|
||||||
CFid *fid;
|
CFid *fid;
|
||||||
CFsys *fs;
|
CFsys *fs;
|
||||||
|
|
||||||
err = nil;
|
err = nil;
|
||||||
sort = 0;
|
sort = 1;
|
||||||
lflag = dflag = 0;
|
lflag = dflag = tflag = 0;
|
||||||
ARGBEGIN{
|
ARGBEGIN{
|
||||||
case 'n':
|
case 'n':
|
||||||
sort = 0;
|
sort = 0;
|
||||||
|
|
@ -501,6 +516,9 @@ xls(int argc, char **argv)
|
||||||
case 'd':
|
case 'd':
|
||||||
dflag = 1;
|
dflag = 1;
|
||||||
break;
|
break;
|
||||||
|
case 't':
|
||||||
|
tflag = 1;
|
||||||
|
break;
|
||||||
}ARGEND
|
}ARGEND
|
||||||
|
|
||||||
fmtinstall('D', dirfmt);
|
fmtinstall('D', dirfmt);
|
||||||
|
|
@ -538,8 +556,12 @@ xls(int argc, char **argv)
|
||||||
err = "errors";
|
err = "errors";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if(sort)
|
if(sort){
|
||||||
|
if(tflag)
|
||||||
|
qsort(d, n, sizeof d[0], timecmp);
|
||||||
|
else
|
||||||
qsort(d, n, sizeof d[0], dircmp);
|
qsort(d, n, sizeof d[0], dircmp);
|
||||||
|
}
|
||||||
for(j=0; j<4; j++)
|
for(j=0; j<4; j++)
|
||||||
len[j] = 0;
|
len[j] = 0;
|
||||||
for(i=0; i<n; i++){
|
for(i=0; i<n; i++){
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue