changeset 1296:314b1486d502 draft

Make last use common llist free function, minor cleanups.
author Rob Landley <rob@landley.net>
date Wed, 21 May 2014 07:01:16 -0500
parents 114ec0ab161c
children a87b61ed18ff
files toys/pending/last.c
diffstat 1 files changed, 6 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/toys/pending/last.c	Wed May 21 06:57:43 2014 -0500
+++ b/toys/pending/last.c	Wed May 21 07:01:16 2014 -0500
@@ -33,18 +33,10 @@
   struct arg_list *list;
 )
 
-static void free_node(void *data)
-{
-  void *arg = ((struct arg_list*)data)->arg;
-  
-  if (arg) free(arg);
-  free(data);
-}
-
 static void free_list()
 {
   if (TT.list) {
-    llist_traverse(TT.list, free_node);
+    llist_traverse(TT.list, free_arg_list);
     TT.list = NULL;
   }
 }
@@ -113,6 +105,7 @@
     if(loc < 0) break;
     xlseek(fd, loc, SEEK_SET);
 
+    // Read next structure, determine type
     xreadall(fd, &ut, sizeof(ut));
     *tm = ut.ut_tv.tv_sec;
     if (*ut.ut_line == '~') {
@@ -194,9 +187,10 @@
     xlseek(fd, loc, SEEK_SET);
   }
 
-  xclose(fd);
-
-  if (CFG_TOYBOX_FREE) free_list();
+  if (CFG_TOYBOX_FREE) {
+    xclose(fd);
+    free_list();
+  }
 
   xprintf("\n%s begins %-24.24s\n", basename(file), ctime(tm));
 }