Subversion Repositories SvarDOS

Rev

Rev 1574 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1574 Rev 1575
Line 6... Line 6...
6
#include <stddef.h>
6
#include <stddef.h>
7
 
7
 
8
#include "libc.h"
8
#include "libc.h"
9
 
9
 
10
 
10
 
11
size_t strlen(const char *s) {
-
 
12
  const char *ptr = s;
-
 
13
  while (*ptr != 0) ptr++;
-
 
14
  return(ptr - s);
-
 
15
}
-
 
16
 
-
 
17
void bzero(void *ptr, size_t len) {
-
 
18
  char *p = ptr;
-
 
19
  while (len > 0) {
-
 
20
    *p = 0;
-
 
21
    p++;
-
 
22
    len--;
-
 
23
  }
-
 
24
}
-
 
25
 
-
 
26
/* TODO this function does not handle overlapping strings well! */
-
 
27
void fmemmove(void far *dst, const void far *src, size_t len) {
-
 
28
  while (len-- > 0) {
-
 
29
    *(char far *)dst = *(char far *)src;
-
 
30
    dst = (char far *)dst + 1;
-
 
31
    src = (char far *)src + 1;
-
 
32
  }
-
 
33
}
-
 
34
 
-
 
35
 
11
 
36
unsigned short mdr_dos_resizeblock(unsigned short siz, unsigned short segn) {
12
unsigned short mdr_dos_resizeblock(unsigned short siz, unsigned short segn) {
37
  unsigned short res = 0;
13
  unsigned short res = 0;
38
 
14
 
39
  _asm {
15
  _asm {