|
|
@@ -24,6 +24,16 @@ static void SourceData__ctor(struct SourceData* self,
|
|
|
source++;
|
|
|
}
|
|
|
self->source = c11_sbuf__submit(&ss);
|
|
|
+ // remove trailing newline
|
|
|
+ int last_index = self->source->size - 1;
|
|
|
+ while(last_index >= 0 && isspace(self->source->data[last_index])) {
|
|
|
+ last_index--;
|
|
|
+ }
|
|
|
+ if(last_index >= 0) {
|
|
|
+ self->source->size = last_index + 1;
|
|
|
+ self->source->data[last_index + 1] = '\0';
|
|
|
+ }
|
|
|
+
|
|
|
self->is_dynamic = is_dynamic;
|
|
|
c11_vector__push(const char*, &self->line_starts, self->source->data);
|
|
|
}
|