Subversion Repositories SvarDOS

Rev

Rev 1574 | Rev 1576 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1574 Rev 1575
Line 144... Line 144...
144
 
144
 
145
/*****************************************************************************
145
/*****************************************************************************
146
 * functions                                                                 *
146
 * functions                                                                 *
147
 *****************************************************************************/
147
 *****************************************************************************/
148
 
148
 
-
 
149
 
-
 
150
static size_t strlen(const char *s) {
-
 
151
  const char *ptr = s;
-
 
152
  while (*ptr != 0) ptr++;
-
 
153
  return(ptr - s);
-
 
154
}
-
 
155
 
-
 
156
 
-
 
157
static void bzero(void *ptr, size_t len) {
-
 
158
  char *p = ptr;
-
 
159
  while (len > 0) {
-
 
160
    *p = 0;
-
 
161
    p++;
-
 
162
    len--;
-
 
163
  }
-
 
164
}
-
 
165
 
-
 
166
 
-
 
167
/* TODO this function does not handle overlapping strings well! */
-
 
168
static void fmemmove(void far *dst, const void far *src, size_t len) {
-
 
169
  while (len-- > 0) {
-
 
170
    *(char far *)dst = *(char far *)src;
-
 
171
    dst = (char far *)dst + 1;
-
 
172
    src = (char far *)src + 1;
-
 
173
  }
-
 
174
}
-
 
175
 
-
 
176
 
149
static struct line far *line_calloc(unsigned short siz) {
177
static struct line far *line_calloc(unsigned short siz) {
150
  struct line far *res;
178
  struct line far *res;
151
  unsigned short seg;
179
  unsigned short seg;
152
 
180
 
153
  seg = dosalloc((sizeof(struct line) + siz + 15) / 16);
181
  seg = dosalloc((sizeof(struct line) + siz + 15) / 16);