]> Joshua Wise's Git repositories - netwatch.git/blame_incremental - lib/minilib.c
tnt2 skel
[netwatch.git] / lib / minilib.c
... / ...
CommitLineData
1#include "console.h"
2#include <minilib.h>
3
4void memcpy(void *dest, const void *src, int bytes)
5{
6 char *cdest = dest;
7 const char *csrc = src;
8 while (bytes--)
9 *(cdest++) = *(csrc++);
10}
11
12void memset(void *dest, int data, int bytes)
13{
14 unsigned char *cdest = dest;
15 while (bytes--)
16 *(cdest++) = (unsigned char)data;
17}
18
19void memmove(void *dest, void *src, int bytes)
20{
21 char * cdest = dest;
22 char * csrc = src;
23 if ((cdest > csrc) && (cdest <= (csrc + bytes)))
24 {
25 /* do it backwards! */
26 cdest += bytes;
27 csrc += bytes;
28 while (bytes--)
29 *(--cdest) = *(--csrc);
30 } else
31 while (bytes--)
32 *(cdest++) = *(csrc++);
33}
34
35int memcmp (const char *a2, const char *a1, int bytes) {
36 while (bytes--)
37 {
38 if (*(a2++) != *(a1++))
39 return 1;
40 }
41 return 0;
42}
43
44int strcmp (const char *a2, const char *a1) {
45 while (1) {
46 if (*a2 != *a1) return 1;
47 if (*a2 == 0) return 0;
48 a1++;
49 a2++;
50 }
51}
52
53int strncmp (const char *a2, const char *a1, int n) {
54 while (n--) {
55 if (*a2 != *a1) return 1;
56 if (*a2 == 0) return 0;
57 a1++;
58 a2++;
59 }
60 return 0;
61}
62
63int strlen(const char *c)
64{
65 int l = 0;
66 while (*(c++))
67 l++;
68 return l;
69}
70
71void strcpy(char *a2, const char *a1)
72{
73 do {
74 *(a2++) = *a1;
75 } while (*(a1++));
76}
77
78void strcat(char *dest, char *src)
79{
80 while (*dest)
81 dest++;
82 while (*src)
83 *(dest++) = *(src++);
84 *(dest++) = *(src++);
85}
86
87void puts(const char *c)
88{
89 putbytes(c, strlen(c));
90}
91
92static char hexarr[] = "0123456789ABCDEF";
93void tohex(char *s, unsigned long l)
94{
95 int i;
96 for (i = 0; i < 8; i++)
97 {
98 s[i] = hexarr[l >> 28];
99 l <<= 4;
100 }
101}
102
103void puthex(unsigned long l)
104{
105 char d[9];
106 d[8] = 0;
107 tohex(d, l);
108 puts(d);
109}
110
111unsigned short htons(unsigned short in)
112{
113 return (in >> 8) | (in << 8);
114}
115
116unsigned int htonl(unsigned int in)
117{
118 return ((in & 0xff) << 24) |
119 ((in & 0xff00) << 8) |
120 ((in & 0xff0000UL) >> 8) |
121 ((in & 0xff000000UL) >> 24);
122}
This page took 0.025563 seconds and 4 git commands to generate.