projects
/
dus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b2a5aa3
)
Fixed a bug when given a filename of length 0 as argument (i.e. "").
author
Francois Fleuret
<francois@fleuret.org>
Sat, 5 Jun 2010 23:26:40 +0000
(
01:26
+0200)
committer
Francois Fleuret
<francois@fleuret.org>
Sat, 5 Jun 2010 23:26:40 +0000
(
01:26
+0200)
dus.c
patch
|
blob
|
history
diff --git
a/dus.c
b/dus.c
index
e00d3df
..
780d360
100644
(file)
--- a/
dus.c
+++ b/
dus.c
@@
-85,7
+85,7
@@
int ignore_entry(const char *name) {
return
strcmp(name, ".") == 0 ||
strcmp(name, "..") == 0 ||
return
strcmp(name, ".") == 0 ||
strcmp(name, "..") == 0 ||
- (ignore_dotfiles && name[0] == '.'
&& name[1] != '/');
+ (ignore_dotfiles && name[0] == '.' && name[1] != '/');
}
size_sum_t entry_size(const char *name) {
}
size_sum_t entry_size(const char *name) {
@@
-395,7
+395,7
@@
static struct option long_options[] = {
};
int main(int argc, char **argv) {
};
int main(int argc, char **argv) {
- int c;
+ int c
, l
;
struct entry_node *root;
struct winsize win;
struct entry_node *root;
struct winsize win;
@@
-449,8
+449,9
@@
int main(int argc, char **argv) {
if (optind < argc) {
while (optind < argc) {
if (optind < argc) {
while (optind < argc) {
- if(argv[optind][strlen(argv[optind]) - 1] == '/') {
- argv[optind][strlen(argv[optind]) - 1] = '\0';
+ l = strlen(argv[optind]);
+ if(l > 0 && argv[optind][l - 1] == '/') {
+ argv[optind][l - 1] = '\0';
root = push_dir_content(argv[optind++], root);
} else {
root = push_entry(argv[optind++], root);
root = push_dir_content(argv[optind++], root);
} else {
root = push_entry(argv[optind++], root);