sequence fr_nextseq(fastareader fr,sequence seq) { char *cline; if (feof(fr->file)) { return NULL; } seq_clear(seq); while (strlen(fr->linebuffer) == 0) { cline = fgets(fr->linebuffer,LINEBUFFERSIZE,fr->file); if (cline == NULL) { /* let's hope that's EOF, not error */ return NULL; } stripWhiteSpace(fr->linebuffer); fr->lineno++; } if (fr->linebuffer[0] != '>') { /* syntax error, apparently... */ fprintf(stderr,"syntax error reading '%s', line %d\n", fr->filename,fr->lineno); return NULL; } seq_setName(seq,fr->linebuffer+1); fgets(fr->linebuffer,LINEBUFFERSIZE,fr->file); stripWhiteSpace(fr->linebuffer); while (!feof(fr->file) && fr->linebuffer[0] != '>') { seq_append(seq,fr->linebuffer,strlen(fr->linebuffer)); fgets(fr->linebuffer,LINEBUFFERSIZE,fr->file); stripWhiteSpace(fr->linebuffer); } return seq; }
int seq_append_cmd( seq_t seq, cmd_tag_t cmd, acl_type_t type) { cmd_t cmd_d = cmd_init(); if (cmd_d == NULL) return -1; cmd_d->c_cmd = cmd; cmd_d->c_type = type; if (seq_append(seq, cmd_d) != 0) { cmd_free(cmd_d); return -1; } return 0; }
/*@ depends \call(enqueue,q, ...), \call(size, q); @ assigns q->data; @*/ $atomic_f _Bool enqueue(cqueue* q, int v) { $seq_append(&q->data, &v, 1); }