LINUX.ORG.RU

История изменений

Исправление Gvidon, (текущая версия) :

void process(const char *str, const char *substr, char *buffer, size_t bufferSize)
{
    char *ptr = buffer;
    size_t substrLength = strlen(substr);

    while (*str && (ptr - buffer < bufferSize - 1))
    {
        if (!strncmp(str, substr, substrLength))
            str += substrLength;
        *ptr++ = *str++;
    }
    *ptr = '\0';
}

Исходная версия Gvidon, :

void process(const char *str, const char *substr, char *buffer, size_t bufferSize)
{
    size_t i;
    char *ptr = buffer;
    size_t substrLength = strlen(substr);

    while (*str && (ptr - buffer < bufferSize - 1))
    {
        if (!strncmp(str, substr, substrLength))
            str += substrLength;
        *ptr++ = *str++;
    }
    *ptr = '\0';
}