diff --git a/src/FastaVector.c b/src/FastaVector.c index 9e608be..d936ad3 100644 --- a/src/FastaVector.c +++ b/src/FastaVector.c @@ -293,8 +293,9 @@ fastaVectorAddSequenceToList(struct FastaVector *fastaVector, char *header, // return NULL for headerPtr and 0 for header length if the fastaVector does not // have a header for the given headerIndex -void fastaVectorGetHeader(struct FastaVector *fastaVector, size_t headerIndex, - char **headerPtr, size_t *headerLength) { +void fastaVectorGetHeader(const struct FastaVector *const fastaVector, + size_t headerIndex, char **headerPtr, + size_t *headerLength) { if (__builtin_expect(headerIndex >= fastaVector->metadata.count, false)) { *headerLength = 0; *headerPtr = NULL; @@ -314,7 +315,7 @@ void fastaVectorGetHeader(struct FastaVector *fastaVector, size_t headerIndex, // return NULL for headerPtr and 0 for header length if the fastaVector does not // have a header for the given headerIndex -void fastaVectorGetSequence(struct FastaVector *fastaVector, +void fastaVectorGetSequence(const struct FastaVector *const fastaVector, size_t sequenceIndex, char **sequencePtr, size_t *sequenceLength) { if (__builtin_expect(sequenceIndex >= fastaVector->metadata.count, false)) { diff --git a/src/FastaVector.h b/src/FastaVector.h index 9791e5d..7f28119 100644 --- a/src/FastaVector.h +++ b/src/FastaVector.h @@ -162,8 +162,9 @@ fastaVectorAddSequenceToList(struct FastaVector *fastaVector, char *header, * * */ -void fastaVectorGetHeader(struct FastaVector *fastaVector, size_t headerIndex, - char **headerPtr, size_t *headerLength); +void fastaVectorGetHeader(const struct FastaVector *const fastaVector, + size_t headerIndex, char **headerPtr, + size_t *headerLength); /** * @relates FastaVector @@ -180,7 +181,7 @@ void fastaVectorGetHeader(struct FastaVector *fastaVector, size_t headerIndex, * TODO: Should we return a static code in case the index was out of bounds? * */ -void fastaVectorGetSequence(struct FastaVector *fastaVector, +void fastaVectorGetSequence(const struct FastaVector *const fastaVector, size_t sequenceIndex, char **sequencePtr, size_t *sequenceLength); diff --git a/tests/fileReadTest/fileReadTest.c b/tests/fileReadTest/fileReadTest.c index c4df860..ed82236 100644 --- a/tests/fileReadTest/fileReadTest.c +++ b/tests/fileReadTest/fileReadTest.c @@ -18,8 +18,7 @@ void readTest(char **const testHeaderStrings, char **const testSequenceStrings, "fail on reading test1.fasta for test 1"); for (size_t i = 0; i < numHeaders; i++) { - // add 1 to the strings for the null terminators - const size_t expectedHeaderLength = strlen(testHeaderStrings[i]) + 1; + const size_t expectedHeaderLength = strlen(testHeaderStrings[i]); const size_t expectedSequenceLength = strlen(testSequenceStrings[i]); size_t headerLength; char *headerPtr; @@ -51,7 +50,7 @@ void readTest(char **const testHeaderStrings, char **const testSequenceStrings, testSequenceStrings[i], (int)sequenceLength, sequencePtr); testAssertString(stringsMatch, buffer); - char terminator = headerPtr[headerLength - 1]; + char terminator = headerPtr[headerLength]; sprintf(buffer, "header index %zu was not null terminated! (found char %u after " "the end of the header)", diff --git a/tests/fileWriteTest/fileWriteTest.c b/tests/fileWriteTest/fileWriteTest.c index 6e0aa25..522bbed 100644 --- a/tests/fileWriteTest/fileWriteTest.c +++ b/tests/fileWriteTest/fileWriteTest.c @@ -111,9 +111,9 @@ void fastaVectorFileWriteTest(const size_t numSequences, const char *fileSrc) { size_t headerLengthFromVector; size_t sequenceLengthFromVector; fastaVectorGetHeader(&fastaVector, sequenceNum, &headerFromVector, - &headerLengthFromVector); + &headerLengthFromVector); fastaVectorGetSequence(&fastaVector, sequenceNum, &sequenceFromVector, - &sequenceLengthFromVector); + &sequenceLengthFromVector); sprintf(buffer, "header was supposed to be length %zu, but got %zu.", headerLength, headerLengthFromVector); testAssertString((headerLength + 1) == headerLengthFromVector, buffer); @@ -156,7 +156,7 @@ void fastaVectorFileWriteTest(const size_t numSequences, const char *fileSrc) { size_t lastHeaderLen; char *lastHeaderPtr; fastaVectorGetHeader(&fastaVector, fastaVector.metadata.count - 1, - &lastHeaderPtr, &lastHeaderLen); + &lastHeaderPtr, &lastHeaderLen); printf("headers did not match, \n h1: %.*s\n h2: %.*s\n hr: %.*s\n", (int)fastaVector.header.count, fastaVector.header.charData, (int)fastaReadVector.header.count, fastaReadVector.header.charData, diff --git a/tests/multiSequenceTest/multiSequenceTest.c b/tests/multiSequenceTest/multiSequenceTest.c index c997517..31315bb 100644 --- a/tests/multiSequenceTest/multiSequenceTest.c +++ b/tests/multiSequenceTest/multiSequenceTest.c @@ -24,12 +24,12 @@ int main() { for (uint8_t i = 0; i < 6; i++) { size_t length; char *charPtr; - fastaVectorFastaGetHeader(&fastaVector, i, &charPtr, &length); + fastaVectorGetHeader(&fastaVector, i, &charPtr, &length); testAssertString(length == strlen(headers[i]), "header lengths did not match"); testAssertString(strcmp(headers[i], charPtr) == 0, "headers did not match exactly."); - fastaVectorFastaGetSequence(&fastaVector, i, &charPtr, &length); + fastaVectorGetSequence(&fastaVector, i, &charPtr, &length); testAssertString(length == strlen(seqs[i]), "sequence lengths did not match"); testAssertString(strcmp(seqs[i], charPtr) == 0,