Temporarily switching back to older bugless fasta libs while fixing a
bug
This commit is contained in:
41
libfasta/fasta_header_handler.c
Normal file → Executable file
41
libfasta/fasta_header_handler.c
Normal file → Executable file
@ -69,34 +69,15 @@ char* fastaSeqPtr_header_add_field(fastaSeqPtr seq, char* name, char* value)
|
||||
element_from_header* table_header_add_field(element_from_header* header, char* name, char* value)
|
||||
{
|
||||
int nbf;
|
||||
int i, j;
|
||||
element_from_header* new_header;
|
||||
|
||||
nbf = atoi(header[0].value);
|
||||
new_header = (element_from_header*) realloc(header, ((nbf+1)*sizeof(element_from_header)));
|
||||
|
||||
i=0;
|
||||
while ((strcmp(new_header[i].name, "definition") != 0) && (i < nbf))
|
||||
i++;
|
||||
|
||||
if (strcmp(new_header[i].name, "definition") == 0)
|
||||
{
|
||||
j = nbf-1;
|
||||
while (strcmp(new_header[j].name, "definition") == 0)
|
||||
{
|
||||
new_header[j+1].name = new_header[j].name;
|
||||
new_header[j+1].value = new_header[j].value;
|
||||
j--;
|
||||
}
|
||||
}
|
||||
|
||||
new_header[i].name = (char*) malloc((1+strlen(name))*sizeof(char));
|
||||
strcpy(new_header[i].name, name);
|
||||
new_header[i].value = (char*) malloc((1+strlen(value))*sizeof(char));
|
||||
strcpy(new_header[i].value, value);
|
||||
sprintf(new_header[0].value, "%d", nbf+1);
|
||||
|
||||
return(new_header);
|
||||
nbf++;
|
||||
header = (element_from_header*) realloc(header, (nbf+1)*sizeof(element_from_header));
|
||||
header[nbf].name = (char*) malloc((1+strlen(name))*sizeof(char));
|
||||
strcpy(header[nbf].name, name);
|
||||
header[nbf].value = (char*) malloc((1+strlen(value))*sizeof(char));
|
||||
strcpy(header[nbf].value, value);
|
||||
sprintf(header[0].value, "%d", nbf);
|
||||
return(header);
|
||||
}
|
||||
|
||||
|
||||
@ -105,7 +86,7 @@ void free_header_table(element_from_header* header)
|
||||
int i;
|
||||
int nbf = atoi(header[0].value);
|
||||
|
||||
for (i = 0; i < nbf; i++)
|
||||
for (i = 0; i <= nbf; i++)
|
||||
{
|
||||
free((header[i]).name);
|
||||
free((header[i]).value);
|
||||
@ -120,7 +101,7 @@ char* getItemFromHeader(char* name, element_from_header* header)
|
||||
int nbf;
|
||||
int i;
|
||||
nbf = atoi(header[0].value);
|
||||
for (i = 1; i < nbf; i++)
|
||||
for (i = 1; i <= nbf; i++)
|
||||
{
|
||||
if (strcmp(header[i].name,name)==0)
|
||||
value = header[i].value;
|
||||
@ -134,7 +115,7 @@ void changeValue(element_from_header* header, char* name, char* newValue)
|
||||
int i;
|
||||
int nbf = atoi(header[0].value);
|
||||
|
||||
for (i = 1; i < nbf; i++)
|
||||
for (i = 1; i <= nbf; i++)
|
||||
{
|
||||
if (strcmp(header[i].name, name)==0)
|
||||
{
|
||||
|
Reference in New Issue
Block a user