dolineprefix can now work without newblock
This commit is contained in:
parent
6a94a6b5ec
commit
f7cd9bb510
1 changed files with 8 additions and 3 deletions
11
smu.c
11
smu.c
|
@ -164,9 +164,12 @@ dolineprefix(const char *begin, const char *end, int newblock) {
|
||||||
char *buffer;
|
char *buffer;
|
||||||
const char *p;
|
const char *p;
|
||||||
|
|
||||||
if(!newblock)
|
if(newblock)
|
||||||
|
p = begin;
|
||||||
|
else if(*begin == '\n')
|
||||||
|
p = begin + 1;
|
||||||
|
else
|
||||||
return 0;
|
return 0;
|
||||||
p = begin;
|
|
||||||
for(i = 0; i < LENGTH(lineprefix); i++) {
|
for(i = 0; i < LENGTH(lineprefix); i++) {
|
||||||
l = strlen(lineprefix[i].search);
|
l = strlen(lineprefix[i].search);
|
||||||
if(end - p < l)
|
if(end - p < l)
|
||||||
|
@ -176,6 +179,8 @@ dolineprefix(const char *begin, const char *end, int newblock) {
|
||||||
if(!(buffer = malloc(BUFFERSIZE)))
|
if(!(buffer = malloc(BUFFERSIZE)))
|
||||||
eprint("Malloc failed.");
|
eprint("Malloc failed.");
|
||||||
buffer[0] = '\0';
|
buffer[0] = '\0';
|
||||||
|
if(*begin == '\n')
|
||||||
|
fputs("\n",stdout);
|
||||||
fputs(lineprefix[i].before,stdout);
|
fputs(lineprefix[i].before,stdout);
|
||||||
for(j = 0, p += l; p != end; p++, j++) {
|
for(j = 0, p += l; p != end; p++, j++) {
|
||||||
ADDC(buffer,j) = *p;
|
ADDC(buffer,j) = *p;
|
||||||
|
@ -330,7 +335,7 @@ doparagraph(const char *begin, const char *end, int newblock) {
|
||||||
return 0;
|
return 0;
|
||||||
fputs("<p>\n",stdout);
|
fputs("<p>\n",stdout);
|
||||||
process(p,q,0);
|
process(p,q,0);
|
||||||
fputs("\n</p>\n",stdout);
|
fputs("</p>\n",stdout);
|
||||||
return -(q - begin);
|
return -(q - begin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue