summaryrefslogtreecommitdiffhomepage
path: root/dev/libDDK/src/ddk_str.c
blob: 1e2fde19331deb90acbe8364488e9803cdb95f4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* -------------------------------------------

  Copyright Amlal El Mahrouss.

  Purpose: DDK String API.

------------------------------------------- */

#include <DriverKit/str.h>

DDK_EXTERN size_t kstrlen(const char* in) {
  if (in == nil) return 0;

  if (*in == 0) return 0;

  size_t index = 0;

  while (in[index] != 0) {
    ++index;
  }

  return index;
}

DDK_EXTERN int kstrncpy(char* dst, const char* src, size_t len) {
  if (nil == dst || nil == src) return 0;

  size_t index = 0;

  while (index != len) {
    dst[index] = src[index];
    ++index;
  }

  return index;
}