version 1.3, 2008/12/03 19:21:58 |
version 1.4, 2008/12/04 16:19:52 |
Line 34 ml_nputstring(struct md_mbuf *p, |
|
Line 34 ml_nputstring(struct md_mbuf *p, |
|
const char *buf, size_t sz, size_t *pos) |
const char *buf, size_t sz, size_t *pos) |
{ |
{ |
int i; |
int i; |
|
const char *seq; |
|
size_t ssz; |
|
|
for (i = 0; i < (int)sz; i++) { |
for (i = 0; i < (int)sz; i++) { |
switch (buf[i]) { |
switch (buf[i]) { |
|
|
|
/* Ampersand ml-escape. */ |
case ('&'): |
case ('&'): |
if ( ! ml_nputs(p, "&", 5, pos)) |
seq = "&"; |
return(0); |
ssz = 5; |
break; |
break; |
|
|
|
/* Quotation ml-escape. */ |
case ('"'): |
case ('"'): |
if ( ! ml_nputs(p, """, 6, pos)) |
seq = """; |
return(0); |
ssz = 6; |
break; |
break; |
|
|
|
/* Lt ml-escape. */ |
case ('<'): |
case ('<'): |
if ( ! ml_nputs(p, "<", 4, pos)) |
seq = "<"; |
return(0); |
ssz = 4; |
break; |
break; |
|
|
|
/* Gt ml-escape. */ |
case ('>'): |
case ('>'): |
if ( ! ml_nputs(p, ">", 4, pos)) |
seq = ">"; |
return(0); |
ssz = 4; |
break; |
break; |
|
|
default: |
default: |
if ( ! ml_nputs(p, &buf[i], 1, pos)) |
seq = &buf[i]; |
return(0); |
ssz = 1; |
break; |
break; |
} |
} |
|
|
|
if ( ! ml_nputs(p, seq, ssz, pos)) |
|
return(-1); |
} |
} |
return(1); |
return(1); |
} |
} |
|
|
ml_nputs(struct md_mbuf *p, const char *buf, size_t sz, size_t *pos) |
ml_nputs(struct md_mbuf *p, const char *buf, size_t sz, size_t *pos) |
{ |
{ |
|
|
|
if (0 == sz) |
|
return(1); |
|
|
if ( ! md_buf_puts(p, buf, sz)) |
if ( ! md_buf_puts(p, buf, sz)) |
return(0); |
return(0); |
|
|
Line 80 ml_puts(struct md_mbuf *p, const char *buf, size_t *po |
|
Line 97 ml_puts(struct md_mbuf *p, const char *buf, size_t *po |
|
{ |
{ |
size_t sz; |
size_t sz; |
|
|
sz = strlen(buf); |
if (0 == (sz = strlen(buf))) |
|
return(1); |
|
|
if ( ! md_buf_puts(p, buf, sz)) |
if ( ! md_buf_puts(p, buf, sz)) |
return(0); |
return(0); |
*pos += sz; |
*pos += sz; |