X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/05b7549a0f980efa33265a091a5174a78851ce05..b60166b327a9108b07e3069fa6568a451529ffd9:/lunaix-os/libs/klibc/string/strcpy.c?ds=sidebyside diff --git a/lunaix-os/libs/klibc/string/strcpy.c b/lunaix-os/libs/klibc/string/strcpy.c index 1258606..86032d9 100644 --- a/lunaix-os/libs/klibc/string/strcpy.c +++ b/lunaix-os/libs/klibc/string/strcpy.c @@ -1,23 +1,26 @@ #include char* -strcpy(char* dest, const char* src) { +strcpy(char* dest, const char* src) +{ char c; unsigned int i = 0; - while ((c = src[i])) - { + while ((c = src[i])) { dest[i] = c; i++; } - dest[i] = '\0'; - return dest; + dest[i++] = '\0'; + return &dest[i]; } char* -strncpy(char* dest, const char* src, size_t n) { +strncpy(char* dest, const char* src, unsigned long n) +{ char c; unsigned int i = 0; - while ((c = src[i]) && i < n) dest[i++] = c; - while (i < n) dest[i++] = 0; + while ((c = src[i]) && i <= n) + dest[i++] = c; + while (i <= n) + dest[i++] = 0; return dest; } \ No newline at end of file