/[pupa]/pupa/kern/misc.c
ViewVC logotype

Diff of /pupa/kern/misc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by okuji, Fri Dec 27 08:53:09 2002 UTC revision 1.2 by okuji, Mon Jan 6 00:01:35 2003 UTC
# Line 26  Line 26 
26  #include <pupa/term.h>  #include <pupa/term.h>
27    
28  void *  void *
29  pupa_memcpy (void *dest, const void *src, pupa_size_t n)  pupa_memmove (void *dest, const void *src, pupa_size_t n)
30  {  {
31    char *d = (char *) dest;    char *d = (char *) dest;
32    char *s = (char *) src;    const char *s = (const char *) src;
33      
34    while (n--)    if (d < s)
35      *d++ = *s++;      while (n--)
36          *d++ = *s++;
37      else
38        {
39          d += n;
40          s += n;
41          
42          while (n--)
43            *--d = *--s;
44        }
45        
46    return dest;    return dest;
47  }  }
48    
49    char *
50    pupa_strcpy (char *dest, const char *src)
51    {
52      char *p = dest;
53    
54      while ((*p++ = *src++) != '\0')
55        ;
56    
57      return dest;
58    }
59    
60    #if 0
61    char *
62    pupa_strcat (char *dest, const char *src)
63    {
64      char *p = dest;
65    
66      while (*p)
67        p++;
68    
69      while ((*p++ = *src++) != '\0')
70        ;
71    
72      return dest;
73    }
74    #endif
75    
76  int  int
77  pupa_printf (const char *fmt, ...)  pupa_printf (const char *fmt, ...)
78  {  {
# Line 237  pupa_memset (void *s, int c, pupa_size_t Line 273  pupa_memset (void *s, int c, pupa_size_t
273  pupa_size_t  pupa_size_t
274  pupa_strlen (const char *s)  pupa_strlen (const char *s)
275  {  {
276    char *p = (char *) s;    const char *p = s;
277    
278    while (*p)    while (*p)
279      p++;      p++;
# Line 262  pupa_reverse (char *str) Line 298  pupa_reverse (char *str)
298      }      }
299  }  }
300    
301  char *  static char *
302  pupa_itoa (char *str, int c, unsigned n)  pupa_itoa (char *str, int c, unsigned n)
303  {  {
304    unsigned base = (c == 'x') ? 16 : 10;    unsigned base = (c == 'x') ? 16 : 10;
# Line 292  pupa_vsprintf (char *str, const char *fm Line 328  pupa_vsprintf (char *str, const char *fm
328  {  {
329    char c;    char c;
330    int count = 0;    int count = 0;
331    auto void write_char (char c);    auto void write_char (char ch);
332    auto void write_str (const char *s);    auto void write_str (const char *s);
333        
334    void write_char (char c)    void write_char (char ch)
335      {      {
336        if (str)        if (str)
337          *str++ = c;          *str++ = ch;
338        else        else
339          pupa_putchar (c);          pupa_putchar (ch);
340    
341        count++;        count++;
342      }      }

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26