OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [newlib-1.18.0/] [newlib-1.18.0-or32-1.0rc2/] [newlib/] [libc/] [stdlib/] [mbstowcs_r.c] - Blame information for rev 802

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 207 jeremybenn
#include <stdlib.h>
2
#include <wchar.h>
3
#include "local.h"
4
 
5
size_t
6
_DEFUN (_mbstowcs_r, (reent, pwcs, s, n, state),
7
        struct _reent *r    _AND
8
        wchar_t       *pwcs _AND
9
        const char    *s    _AND
10
        size_t         n    _AND
11
        mbstate_t     *state)
12
{
13
  size_t ret = 0;
14
  char *t = (char *)s;
15
  int bytes;
16
 
17
  if (!pwcs)
18
    n = (size_t) 1; /* Value doesn't matter as long as it's not 0. */
19
  while (n > 0)
20
    {
21
      bytes = __mbtowc (r, pwcs, t, MB_CUR_MAX, __locale_charset (), state);
22
      if (bytes < 0)
23
        {
24
          state->__count = 0;
25
          return -1;
26
        }
27
      else if (bytes == 0)
28
        break;
29
      t += bytes;
30
      ++ret;
31
      if (pwcs)
32
        {
33
          ++pwcs;
34
          --n;
35
        }
36
    }
37
  return ret;
38
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.