Skip to content

Commit ece6efe

Browse files
committed
Return more structured data in some cases
1 parent e55fef1 commit ece6efe

1 file changed

Lines changed: 13 additions & 16 deletions

File tree

Modules/cdmodule.c

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,13 @@ CD_getstatus(self, args)
197197
return NULL;
198198
}
199199

200-
return mkvalue("(iiiiiiiiiiiiiiiiii)", status.state, status.track,
201-
status.min, status.sec, status.frame, status.abs_min,
202-
status.abs_sec, status.abs_frame, status.total_min,
203-
status.total_sec, status.total_frame, status.first,
204-
status.last, status.scsi_audio, status.cur_block,
205-
status.polyfilla[0], status.polyfilla[1],
206-
status.polyfilla[2]);
200+
return mkvalue("(ii(iii)(iii)(iii)iiii(iii))", status.state,
201+
status.track, status.min, status.sec, status.frame,
202+
status.abs_min, status.abs_sec, status.abs_frame,
203+
status.total_min, status.total_sec, status.total_frame,
204+
status.first, status.last, status.scsi_audio,
205+
status.cur_block, status.polyfilla[0],
206+
status.polyfilla[1], status.polyfilla[2]);
207207
}
208208

209209
static object *
@@ -224,7 +224,7 @@ CD_gettrackinfo(self, args)
224224
return NULL;
225225
}
226226

227-
return mkvalue("(iiiiii)",
227+
return mkvalue("((iii)(iii))",
228228
info.start_min, info.start_sec, info.start_frame,
229229
info.total_min, info.total_sec, info.total_frame);
230230
}
@@ -578,14 +578,11 @@ CD_callback(arg, type, data)
578578
break;
579579
case cd_ptime:
580580
case cd_atime:
581-
v = newsizedstringobject(NULL, 6);
582-
p = getstringvalue(v);
583-
*p++ = ((struct cdtimecode *) data)->mhi + '0';
584-
*p++ = ((struct cdtimecode *) data)->mlo + '0';
585-
*p++ = ((struct cdtimecode *) data)->shi + '0';
586-
*p++ = ((struct cdtimecode *) data)->slo + '0';
587-
*p++ = ((struct cdtimecode *) data)->fhi + '0';
588-
*p++ = ((struct cdtimecode *) data)->flo + '0';
581+
#define ptr ((struct cdtimecode *) data)
582+
v = mkvalue("(iii)", ptr->mhi * 10 + ptr->mlo,
583+
ptr->shi * 10 + ptr->slo,
584+
ptr->fhi * 10 + ptr->flo);
585+
#undef ptr
589586
break;
590587
case cd_catalog:
591588
v = newsizedstringobject(NULL, 13);

0 commit comments

Comments
 (0)