Fix another stupid in @dirs...
[disorder] / cgi / macros-disorder.c
index eff6313..d549e10 100644 (file)
@@ -262,7 +262,7 @@ static int exp_length(int attribute((unused)) nargs,
         return -1;
     name = q->track;
   }
-  if(dcgi_client && disorder_length(dcgi_client, name, &length))
+  if(dcgi_client && !disorder_length(dcgi_client, name, &length))
     return sink_printf(output, "%ld:%02ld",
                        length / 60, length % 60) < 0 ? -1 : 0;
   return sink_writes(output, "&nbsp;") < 0 ? -1 : 0;
@@ -857,7 +857,6 @@ static int exp__files_dirs(int nargs,
   /* Sort it.  NB trackname_transform() does not go to the server. */
   e = xcalloc(ntracks, sizeof *e);
   for(n = 0; n < ntracks; ++n) {
-    e->track = tracks[n];
     e[n].track = tracks[n];
     e[n].sort = trackname_transform(type, tracks[n], "sort");
     e[n].display = trackname_transform(type, tracks[n], "display");
@@ -869,7 +868,7 @@ static int exp__files_dirs(int nargs,
     if((rc = mx_expand(mx_rewritel(m,
                                    "index", make_index(n),
                                    "parity", n % 2 ? "odd" : "even",
-                                   "track", tracks[n],
+                                   "track", e[n].track,
                                    "first", n == 0 ? "true" : "false",
                                    "last", n + 1 == ntracks ? "false" : "true",
                                    "sort", e[n].sort,