Removed the double hyphen when printing the fancy results.
[dus.git] / dus.c
diff --git a/dus.c b/dus.c
index 872f5c1..2bb1e89 100644 (file)
--- a/dus.c
+++ b/dus.c
@@ -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);
   }