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 |
{ |
{ |
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++; |
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; |
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 |
} |
} |