version 1.123, 2010/12/24 14:14:00 |
version 1.124, 2010/12/27 21:41:05 |
Line 771 html_idcat(char *dst, const char *src, int sz) |
|
Line 771 html_idcat(char *dst, const char *src, int sz) |
|
{ |
{ |
int ssz; |
int ssz; |
|
|
assert(sz); |
assert(sz > 2); |
|
|
/* Cf. <http://www.w3.org/TR/html4/types.html#h-6.2>. */ |
/* Cf. <http://www.w3.org/TR/html4/types.html#h-6.2>. */ |
|
|
for ( ; *dst != '\0' && sz; dst++, sz--) |
|
/* Jump to end. */ ; |
|
|
|
assert(sz > 2); |
|
|
|
/* We can't start with a number (bah). */ |
/* We can't start with a number (bah). */ |
|
|
*dst++ = 'x'; |
if ('#' == *dst) { |
*dst = '\0'; |
dst++; |
sz--; |
sz--; |
|
} |
|
if ('\0' == *dst) { |
|
*dst++ = 'x'; |
|
*dst = '\0'; |
|
sz--; |
|
} |
|
|
|
for ( ; *dst != '\0' && sz; dst++, sz--) |
|
/* Jump to end. */ ; |
|
|
for ( ; *src != '\0' && sz > 1; src++) { |
for ( ; *src != '\0' && sz > 1; src++) { |
ssz = snprintf(dst, (size_t)sz, "%.2x", *src); |
ssz = snprintf(dst, (size_t)sz, "%.2x", *src); |