char *buffer;
FILE *fp;
struct queue_entry *q;
- int version = 0;
+ int ver = 0;
if(!(fp = fopen(path, "r"))) {
if(errno == ENOENT)
while(!inputline(path, fp, &buffer, '\n')) {
if(buffer[0] == '#') {
/* Version indicator */
- version = atoi(buffer + 1);
+ ver = atoi(buffer + 1);
continue;
}
q = xmalloc(sizeof *q);
queue_unmarshall(q, buffer, queue_read_error, (void *)path);
- if(version < 1) {
+ if(ver < 1) {
/* Fix up origin field as best we can; will be wrong in some cases but
* hopefully not too horribly so. */
q->origin = q->submitter ? origin_picked : origin_random;
- if(q->state == playing_isscratch)
+ /* Eliminated obsolete states, since they are assumed elsewhere not to be
+ * set. */
+ switch(q->state) {
+ case playing_isscratch:
q->origin = origin_scratch;
+ q->state = playing_unplayed;
+ break;
+ case playing_random:
+ q->state = playing_unplayed;
+ break;
+ default:
+ break;
+ }
}
if(head == &qhead
&& (!q->track