Changed the copyright years in the header.
[dus.git] / dus.c
diff --git a/dus.c b/dus.c
index 872f5c1..a7e3908 100644 (file)
--- a/dus.c
+++ b/dus.c
@@ -3,7 +3,7 @@
  *  dus is a simple utility to display the files and directories
  *  according to their total disk occupancy.
  *
- *  Copyright (c) 2010 Francois Fleuret
+ *  Copyright (c) 2010, 2011 Francois Fleuret
  *  Written by Francois Fleuret <francois@fleuret.org>
  *
  *  This file is part of dus.
@@ -188,13 +188,14 @@ struct entry_node {
 };
 
 struct entry_node *push_entry(char *name, struct entry_node *head) {
+  char tmp_name[PATH_MAX];
   struct entry_node *result;
   int isdir;
   result = safe_malloc(sizeof(struct entry_node));
   result->size = entry_size(name, &isdir);
   if(isdir) {
-    result->name = safe_malloc(sizeof(char) * strlen(name) + 2);
-    sprintf(result->name, "%s/", name);
+    snprintf(tmp_name, PATH_MAX, "%s/", name);
+    result->name = strdup(tmp_name);
   } else {
     result->name = strdup(name);
   }
@@ -294,25 +295,25 @@ void fancy_print(char *buffer, size_t buffer_size,
   if(size < 1024) {
     snprintf(buffer,
              buffer_size,
-             "% 8d -- %s\n",
+             "% 8d %s\n",
              ((int) size),
              filename);
   } else if(size < 1024 * 1024) {
     snprintf(buffer,
              buffer_size,
-             "% 7.1fK -- %s\n",
+             "% 7.1fK %s\n",
              ((double) (size))/(1024.0),
              filename);
   } else if(size < 1024 * 1024 * 1024) {
     snprintf(buffer,
              buffer_size,
-             "% 7.1fM -- %s\n",
+             "% 7.1fM %s\n",
              ((double) (size))/(1024.0 * 1024),
              filename);
   } else {
     snprintf(buffer,
              buffer_size,
-             "% 7.1fG -- %s\n",
+             "% 7.1fG %s\n",
              ((double) (size))/(1024.0 * 1024.0 * 1024.0),
              filename);
   }