/* Copy the first number of bytes from source string to destination string Return the pointer to the destination string.  */
char* strncpy(char *pDestination, const char *pSource, size_t count)
/* Copy the first number of bytes from source string to destination string Return the pointer to the destination string.  */
char* strncpy(char *pDestination, const char *pSource, size_t count)
{
    char *pSaveDest = pDestination;
    while (count) {
        *pDestination = *pSource;
        if (*pSource == 0) {
            break;
        }
        pDestination++;
        pSource++;
        count--;
    }
    return pSaveDest;
}