Preparing core package for use by other packages.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
struct terrace_linedata_s {
|
||||
char type;
|
||||
unsigned int level;
|
||||
unsigned int offset;
|
||||
unsigned int offsetHead;
|
||||
unsigned int offsetTail;
|
||||
};
|
||||
|
||||
typedef struct terrace_linedata_s terrace_linedata_t;
|
||||
@@ -9,15 +10,28 @@ typedef struct terrace_linedata_s terrace_linedata_t;
|
||||
void terrace_parse_line(char* line, terrace_linedata_t *lineData) {
|
||||
char type = 0;
|
||||
unsigned int level = 0;
|
||||
unsigned int offsetTail = 0;
|
||||
|
||||
if (line[0] == '\n') {
|
||||
if (lineData->type == 1) level++;
|
||||
if (lineData->type == 0) level = lineData->level;
|
||||
|
||||
lineData->type = type;
|
||||
lineData->level = level;
|
||||
lineData->offsetHead = 0;
|
||||
lineData->offsetTail = 0;
|
||||
} else {
|
||||
type = 1;
|
||||
while(line[level] == ' ' && level <= lineData->level + 1) ++level;
|
||||
while (line[level] == ' ' && level <= lineData->level + 1) ++level;
|
||||
lineData->type = type;
|
||||
lineData->level = level;
|
||||
lineData->offsetHead = level;
|
||||
lineData->offsetTail = level;
|
||||
|
||||
while (line[lineData->offsetTail] != '\0' && line[lineData->offsetTail] != ' ') ++lineData->offsetTail;
|
||||
}
|
||||
|
||||
lineData->type = type;
|
||||
lineData->level = level;
|
||||
lineData->offsetHead = level;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user