1. Си / Говнокод #25620

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    char *real_escape_string(const byte *src, int size)
    {
        char *escaped;
        char *pos;
    
        if (memchr(src, '\0', size - 1) || memchr(src, '\n', size) || memchr(src, '\r', size)) {
    	fprintf(stderr, "cannot handle this string\n");
    	return NULL;
        }
    
        pos = escaped = malloc(sizeof(char) * (size * 2 + 1));
    
        if (escaped == NULL) {
    	fprintf(stderr, "malloc failed: %m\n");
    	return NULL;
        }
    
        for (int i = 0; i < size; ++i) {
    	if (!isalnum(src[i])) {
    	    *escaped++ = '\\';
    	}
    	*escaped++ = src[i];
        }
    
        *escaped = '\0';
    
        return pos;
    }

    Запостил: real_escape_string, 19 Мая 2019

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только в понедельник, среду, четверг или воскресение
    ava Где здесь C++, guest?!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код