version 1.12, 2010/01/01 17:14:30 |
version 1.13, 2010/04/07 07:49:38 |
|
|
a2roffdeco(enum roffdeco *d, |
a2roffdeco(enum roffdeco *d, |
const char **word, size_t *sz) |
const char **word, size_t *sz) |
{ |
{ |
int j, type, term, lim; |
int j, offs, term, lim; |
const char *wp, *sp; |
const char *wp, *sp; |
|
|
*d = DECO_NONE; |
*d = DECO_NONE; |
wp = *word; |
wp = *word; |
type = 1; |
offs = 0; |
|
|
switch (*wp) { |
switch (*wp) { |
case ('\0'): |
case ('\0'): |
Line 236 a2roffdeco(enum roffdeco *d, |
|
Line 236 a2roffdeco(enum roffdeco *d, |
|
return(4); |
return(4); |
|
|
case ('['): |
case ('['): |
type = 0; |
offs = 1; |
break; |
break; |
|
|
default: |
default: |
Line 344 a2roffdeco(enum roffdeco *d, |
|
Line 344 a2roffdeco(enum roffdeco *d, |
|
} |
} |
|
|
*word = ++wp; |
*word = ++wp; |
|
|
for (j = 0; *wp && ']' != *wp; wp++, j++) |
for (j = 0; *wp && ']' != *wp; wp++, j++) |
/* Loop... */ ; |
/* Loop... */ ; |
|
|
if ('\0' == *wp) |
if ('\0' == *wp) |
return(j + 1); |
return(j + 1 + offs); |
|
|
*d = type ? DECO_SPECIAL : DECO_RESERVED; |
*d = offs ? DECO_RESERVED : DECO_SPECIAL; |
*sz = (size_t)j; |
*sz = (size_t)j; |
return (j + 2); |
|
|
return (j + 2 + offs); |
} |
} |