1. C++ / Говнокод #12707

    +21

    1. 1
    2. 2
    3. 3
    4. 4
    if (g_bCanAcceptUnderScore)
    			SetIgnoreChars("№@`$%#^&*()~[]{}:;,.!?><|\\//-=+'\" \n");
    		else
    			SetIgnoreChars("№@`$%#^&*()~[]{}:;,.!?><|\\//-=+'\" \n_");

    Запостил: lifemaker, 08 Марта 2013

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

    • char* ignores = "№@`$%#^&*()~[]{}:;,.!?><|\\//-=+'\" \n";
      if (g_bCanAcceptUnderScore)
      {
      ignores = strcat( ignores, "_" );
      }
      
      SetIgnoreChars(ignores);
      Ответить
      • strcat к константной строке? Ну ну :)

        Экранирование слеша им же самим кстати тоже забавно
        Ответить
      • Как говорится: не умеешь петь, не пей. Ты только что поюзал UB, который, в частности в gcc под линухой закончится крашем.

        > Экранирование слеша им же самим кстати тоже забавно
        Он разрешен вдвойне.
        Ответить
    • Извращаться так по полной:
      bool g_bCanAcceptUnderScore;
      ...
      SetIgnoreChars("_№@`$%#^&*()~[]{}:;,.!?><|\\/-=+'\" \n" + 1 - g_bCanAcceptUnderScore);
      Ответить
    • Было бы интересно посмотреть на реализацию такой функции для юникода. Смайлики там всякие запретить...
      Ответить
    • Boolshitus vulgaris
      Ответить

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