version 1.19, 2010/07/18 23:06:18 |
version 1.24, 2010/08/16 09:37:58 |
Line 116 a2roffsu(const char *src, struct roffsu *dst, enum rof |
|
Line 116 a2roffsu(const char *src, struct roffsu *dst, enum rof |
|
return(0); |
return(0); |
} |
} |
|
|
|
/* FIXME: do this in the caller. */ |
if ((dst->scale = atof(buf)) < 0) |
if ((dst->scale = atof(buf)) < 0) |
dst->scale = 0; |
dst->scale = 0; |
dst->unit = unit; |
dst->unit = unit; |
Line 218 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
Line 219 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
break; |
break; |
} |
} |
break; |
break; |
case ('*'): |
|
*d = DECO_RESERVED; |
|
switch (wp[i++]) { |
|
case ('('): |
|
lim = 2; |
|
break; |
|
case ('['): |
|
term = ']'; |
|
break; |
|
default: |
|
i--; |
|
lim = 1; |
|
break; |
|
} |
|
break; |
|
case ('M'): |
case ('M'): |
/* FALLTHROUGH */ |
/* FALLTHROUGH */ |
case ('m'): |
case ('m'): |
|
/* FALLTHROUGH */ |
|
case ('*'): |
|
if ('*' == c) |
|
*d = DECO_RESERVED; |
|
|
switch (wp[i++]) { |
switch (wp[i++]) { |
case ('('): |
case ('('): |
lim = 2; |
lim = 2; |
Line 249 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
Line 240 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
break; |
break; |
} |
} |
break; |
break; |
|
case ('h'): |
|
/* FALLTHROUGH */ |
|
case ('v'): |
|
/* FALLTHROUGH */ |
case ('s'): |
case ('s'): |
if ('+' == wp[i] || '-' == wp[i]) |
j = 0; |
|
if ('+' == wp[i] || '-' == wp[i]) { |
i++; |
i++; |
|
j = 1; |
|
} |
|
|
j = ('s' != wp[i - 1]); |
|
|
|
switch (wp[i++]) { |
switch (wp[i++]) { |
case ('('): |
case ('('): |
lim = 2; |
lim = 2; |
Line 265 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
Line 261 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
case ('\''): |
case ('\''): |
term = '\''; |
term = '\''; |
break; |
break; |
|
case ('0'): |
|
j = 1; |
|
/* FALLTHROUGH */ |
default: |
default: |
i--; |
i--; |
lim = 1; |
lim = 1; |
Line 272 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
Line 271 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
} |
} |
|
|
if ('+' == wp[i] || '-' == wp[i]) { |
if ('+' == wp[i] || '-' == wp[i]) { |
if (j++) |
if (j) |
return(i); |
return(i); |
i++; |
i++; |
} |
} |
|
|
if (0 == j) |
|
return(i); |
|
break; |
break; |
case ('['): |
case ('['): |
*d = DECO_SPECIAL; |
*d = DECO_SPECIAL; |
Line 288 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
Line 285 a2roffdeco(enum roffdeco *d, const char **word, size_t |
|
*d = DECO_NOSPACE; |
*d = DECO_NOSPACE; |
return(i); |
return(i); |
default: |
default: |
*d = DECO_SPECIAL; |
*d = DECO_SSPECIAL; |
i--; |
i--; |
lim = 1; |
lim = 1; |
break; |
break; |