URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 40 |
Rev 1765 |
#include <stdlib.h>
|
#include <stdlib.h>
|
|
|
size_t
|
size_t
|
_DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state),
|
_DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state),
|
struct _reent *r _AND
|
struct _reent *r _AND
|
wchar_t *pwcs _AND
|
wchar_t *pwcs _AND
|
const char *s _AND
|
const char *s _AND
|
size_t n _AND
|
size_t n _AND
|
int *state)
|
int *state)
|
{
|
{
|
wchar_t *ptr = pwcs;
|
wchar_t *ptr = pwcs;
|
size_t max = n;
|
size_t max = n;
|
char *t = (char *)s;
|
char *t = (char *)s;
|
int bytes;
|
int bytes;
|
|
|
while (n > 0)
|
while (n > 0)
|
{
|
{
|
bytes = _mbtowc_r (r, ptr, t, MB_CUR_MAX, state);
|
bytes = _mbtowc_r (r, ptr, t, MB_CUR_MAX, state);
|
if (bytes == -1)
|
if (bytes == -1)
|
return -1;
|
return -1;
|
else if (bytes == 0)
|
else if (bytes == 0)
|
return ptr - pwcs;
|
return ptr - pwcs;
|
t += bytes;
|
t += bytes;
|
++ptr;
|
++ptr;
|
--n;
|
--n;
|
}
|
}
|
|
|
return max;
|
return max;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.