Code cleanup

This commit is contained in:
Pierre Pronchery 2007-05-09 22:24:48 +00:00
parent 991a400776
commit 52c3dfc1ea
2 changed files with 29 additions and 22 deletions

View File

@ -378,11 +378,12 @@ static int _ls_do_files_short(Prefs * prefs, char * directory, SList * files)
{ {
char * cols; char * cols;
char * p; char * p;
unsigned int len = 0; long len = 0;
unsigned int lenmax = 0; size_t lencur;
size_t lenmax = 0;
unsigned int colnb = 0; unsigned int colnb = 0;
unsigned int i = 0; unsigned int i = 0;
unsigned int j = 0; size_t j = 0;
char c; char c;
SList cur; SList cur;
@ -391,8 +392,11 @@ static int _ls_do_files_short(Prefs * prefs, char * directory, SList * files)
&& *p == '\0') && *p == '\0')
{ {
for(cur = *files; cur != NULL; slist_next(&cur)) for(cur = *files; cur != NULL; slist_next(&cur))
lenmax = max(lenmax, strlen(slist_data(&cur))); {
if(*prefs * PREFS_F) lencur = strlen(slist_data(&cur));
lenmax = max(lenmax, lencur);
}
if(*prefs & PREFS_F)
lenmax++; lenmax++;
if(lenmax > 0) if(lenmax > 0)
colnb = len / ++lenmax; colnb = len / ++lenmax;
@ -489,30 +493,32 @@ static int _ls_do_files_long(Prefs * prefs, char * directory, SList * files)
return 0; return 0;
} }
/* _long_print */
static void _long_mode(char str[11], mode_t mode); static void _long_mode(char str[11], mode_t mode);
static char const * _long_owner(uid_t uid); static char const * _long_owner(uid_t uid);
static char const * _long_group(gid_t gid); static char const * _long_group(gid_t gid);
static void _long_date(time_t date, char buf[15]); static char const * _long_date(time_t date);
static char _file_mode_letter(mode_t mode); static char _file_mode_letter(mode_t mode);
static void _print_link(char const * filename); static void _print_link(char const * filename);
static void _long_print(Prefs * prefs, char const * filename, static void _long_print(Prefs * prefs, char const * filename,
char const * basename, struct stat * st) char const * basename, struct stat * st)
{ {
char mode[11]; char mode[11];
char const * owner; char const * owner;
char const * group; char const * group;
char date[15]; char const * date;
_long_mode(mode, st->st_mode); _long_mode(mode, st->st_mode);
owner = _long_owner(st->st_uid); owner = _long_owner(st->st_uid);
group = _long_group(st->st_gid); group = _long_group(st->st_gid);
if(*prefs & PREFS_u) if(*prefs & PREFS_u)
_long_date(st->st_atime, date); date = _long_date(st->st_atime);
else if(*prefs & PREFS_c) else if(*prefs & PREFS_c)
_long_date(st->st_ctime, date); date = _long_date(st->st_ctime);
else else
_long_date(st->st_mtime, date); date = _long_date(st->st_mtime);
printf("%s %u %-7s %-7s %6u %s %s", mode, (unsigned)st->st_nlink, printf("%s %2u %-7s %-7s %6u %s %s", mode, (unsigned)st->st_nlink,
owner, group, (unsigned)st->st_size, date, basename); owner, group, (unsigned)st->st_size, date, basename);
if(S_ISLNK(st->st_mode) && !(*prefs & PREFS_L)) /* FIXME not in POSIX? */ if(S_ISLNK(st->st_mode) && !(*prefs & PREFS_L)) /* FIXME not in POSIX? */
_print_link(filename); _print_link(filename);
@ -585,8 +591,9 @@ static char const * _long_group(gid_t gid)
return buf; return buf;
} }
static void _long_date(time_t date, char buf[15]) static char const * _long_date(time_t date)
{ {
static char buf[15];
struct tm tm; struct tm tm;
static time_t sixmonths = -1; static time_t sixmonths = -1;
size_t len; size_t len;
@ -595,11 +602,11 @@ static void _long_date(time_t date, char buf[15])
sixmonths = time(NULL) - 15552000; sixmonths = time(NULL) - 15552000;
localtime_r(&date, &tm); localtime_r(&date, &tm);
if(date < sixmonths) if(date < sixmonths)
len = strftime(buf, 14, "%b %e %Y", &tm); len = strftime(buf, sizeof(buf), "%b %e %Y", &tm);
else else
len = strftime(buf, 14, "%b %e %H:%M", &tm); len = strftime(buf, sizeof(buf), "%b %e %H:%M", &tm);
if(len == 0) buf[len] = '\0';
buf[0] = '\0'; return buf;
} }
static char _file_mode_letter(mode_t mode) static char _file_mode_letter(mode_t mode)

View File

@ -67,7 +67,7 @@ static int _pr_error(char const * message, int ret)
/* _pr_do */ /* _pr_do */
static void _do_offset(int offset); static void _do_offset(int offset);
static void _do_header(Prefs * prefs, time_t const mtime, char const * filename, static void _do_header(Prefs * prefs, time_t const mtime, char const * filename,
size_t page); unsigned long page);
static void _do_footer(Prefs * prefs); static void _do_footer(Prefs * prefs);
static int _pr_do(Prefs * prefs, FILE * fp, char const * filename) static int _pr_do(Prefs * prefs, FILE * fp, char const * filename)
@ -76,8 +76,8 @@ static int _pr_do(Prefs * prefs, FILE * fp, char const * filename)
char * buf; char * buf;
size_t len; size_t len;
int nb = 0; int nb = 0;
size_t page = 1; unsigned long page = 1;
size_t line = 1; unsigned long line = 1;
if(fp == stdin) if(fp == stdin)
st.st_mtime = time(NULL); st.st_mtime = time(NULL);
@ -97,7 +97,7 @@ static int _pr_do(Prefs * prefs, FILE * fp, char const * filename)
} }
_do_offset(prefs->offset); /* FIXME not if truncated line */ _do_offset(prefs->offset); /* FIXME not if truncated line */
if(prefs->flags & PREFS_n) if(prefs->flags & PREFS_n)
printf("%5u ", line++); printf("%5lu ", line++);
if((len = strlen(buf)) > 0 && buf[len - 1] == '\n' if((len = strlen(buf)) > 0 && buf[len - 1] == '\n'
&& prefs->flags & PREFS_d) && prefs->flags & PREFS_d)
buf[len++] = '\n'; /* XXX with offset? */ buf[len++] = '\n'; /* XXX with offset? */
@ -127,7 +127,7 @@ static void _do_offset(int offset)
} }
static void _do_header(Prefs * prefs, time_t const mtime, char const * filename, static void _do_header(Prefs * prefs, time_t const mtime, char const * filename,
size_t page) unsigned long page)
{ {
struct tm tm; struct tm tm;
char buf[18]; char buf[18];
@ -141,7 +141,7 @@ static void _do_header(Prefs * prefs, time_t const mtime, char const * filename,
localtime_r(&mtime, &tm); localtime_r(&mtime, &tm);
strftime(buf, sizeof(buf) - 1, "%b %e %H:%M %Y", &tm); strftime(buf, sizeof(buf) - 1, "%b %e %H:%M %Y", &tm);
buf[sizeof(buf) - 1] = '\0'; buf[sizeof(buf) - 1] = '\0';
printf("%s %s%s%u", buf, prefs->header != NULL printf("%s %s%s%lu", buf, prefs->header != NULL
? prefs->header : filename, " Page ", ? prefs->header : filename, " Page ",
page); page);
} }