}
while ((entry = readdir(dir)) != NULL) {
/* are we going to list the file- it may be . or .. or a hidden file */
- if ((strcmp(entry->d_name, ".")==0) && !(disp_opts & DISP_DOT)) continue;
- if ((strcmp(entry->d_name, "..")==0) && !(disp_opts & DISP_DOT)) continue;
- if ((entry->d_name[0] == '.') && !(disp_opts & DISP_HIDDEN)) continue;
+ if ((strcmp(entry->d_name, ".")==0) && !(disp_opts & DISP_DOT))
+ continue;
+ if ((strcmp(entry->d_name, "..")==0) && !(disp_opts & DISP_DOT))
+ continue;
+ if ((entry->d_name[0] == '.') && !(disp_opts & DISP_HIDDEN))
+ continue;
cur= (struct dnode *)xmalloc(sizeof(struct dnode));
- cur->fullname = xmalloc(strlen(path)+1+strlen(entry->d_name)+1);
- strcpy(cur->fullname, path);
- if (cur->fullname[strlen(cur->fullname)-1] != '/')
- strcat(cur->fullname, "/");
- cur->name= cur->fullname + strlen(cur->fullname);
- strcat(cur->fullname, entry->d_name);
+ cur->fullname = concat_path_file(path, entry->d_name);
+ cur->name = cur->fullname +
+ (strlen(cur->fullname) - strlen(entry->d_name));
if (my_stat(cur))
continue;
cur->next= dn;
column += 10;
break;
case LIST_NLINKS:
- printf("%4d ", dn->dstat.st_nlink);
+ printf("%4ld ", (long)dn->dstat.st_nlink);
column += 10;
break;
case LIST_ID_NAME:
printf("%4d, %3d ", (int)MAJOR(dn->dstat.st_rdev), (int)MINOR(dn->dstat.st_rdev));
} else {
#ifdef BB_FEATURE_HUMAN_READABLE
- fprintf(stdout, "%9s ", make_human_readable_str(dn->dstat.st_size,
- (ls_disp_hr==TRUE)? 0: 1));
-#else
+ if (ls_disp_hr==TRUE) {
+ fprintf(stdout, "%9s ", make_human_readable_str(
+ dn->dstat.st_size>>10, 0));
+ } else
+#endif
+ {
#if _FILE_OFFSET_BITS == 64
- printf("%9lld ", dn->dstat.st_size>>1);
+ printf("%9lld ", (long long)dn->dstat.st_size);
#else
- printf("%9ld ", dn->dstat.st_size>>1);
-#endif
+ printf("%9ld ", dn->dstat.st_size);
#endif
+ }
}
column += 10;
break;