diff options
| author | R. Imura <imura@FreeBSD.org> | 2005-05-24 15:38:08 +0000 |
|---|---|---|
| committer | R. Imura <imura@FreeBSD.org> | 2005-05-24 15:38:08 +0000 |
| commit | bf8ba9ab3ae9dd0999463c831e35237289e7978f (patch) | |
| tree | 11de4faee7eb713d70b151f8e61e0ebd951d41eb /sys/libkern | |
| parent | 5c86e3c106f865a1ecf3d2e8d5bc6257a36fb453 (diff) | |
Notes
Diffstat (limited to 'sys/libkern')
| -rw-r--r-- | sys/libkern/iconv_xlat16.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/libkern/iconv_xlat16.c b/sys/libkern/iconv_xlat16.c index 68d468ab6808..78e764a86b90 100644 --- a/sys/libkern/iconv_xlat16.c +++ b/sys/libkern/iconv_xlat16.c @@ -57,16 +57,16 @@ iconv_xlat16_open(struct iconv_converter_class *dcp, struct iconv_cspair *csp, struct iconv_cspair *cspf, void **dpp) { struct iconv_xlat16 *dp; - uint32_t *headp, *idxp, dist = 0; + uint32_t *headp, **idxp; int i; dp = (struct iconv_xlat16 *)kobj_create((struct kobj_class*)dcp, M_ICONV, M_WAITOK); - headp = idxp = (uint32_t *)csp->cp_data; - dist = 0x200; + headp = (uint32_t *)((caddr_t)csp->cp_data + sizeof(dp->d_table)); + idxp = (uint32_t **)csp->cp_data; for (i = 0 ; i < 0x200 ; i++) { if (*idxp) { - dp->d_table[i] = headp + dist; - dist += 0x80; + dp->d_table[i] = headp; + headp += 0x80; } else { dp->d_table[i] = NULL; } |
