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

    +8

    1. 1
    2. 2
    3. 3
    QRegExp re("<cite>‎(.*)</cite>");
    re.setMinimal(true);
    qDebug() << re.indexIn("<cite>http://test.com/</cite>");

    Ошибка, на фикс которой мы с другом убили почти час.

    Запостил: bormand, 15 Октября 2013

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

    • Тупняк же.
      Ответить
    • Кэп?
      Ответить
      • Насколько я вкурил, жадная звёздочка захватывает не только "ololo<cite>citota</cite>trololo", но и "ololo<cite>citota</cite>tratata<cite>gomuda</cite>trololo".
        Ответить
    • Ничего не понял, как эта фигня туда попала?
      >>> "<cite>‎(.*)</cite>"
      '<cite>\xe2\x80\x8e(.*)</cite>'

      Edit: кто-то злой перед увольнением спрятал LTR во всех регулярках? :)
      Ответить
      • > U+200E left-to-right mark
        Вот это поворот!
        Ответить
      • Кстати, неплохая идея для увольняющегося работника: впихать в каждую строчку сорцов в рандомной позиции LTR и RTL: проще переписать будет.
        Ответить
        • На самом деле, после обнаружения причины она будет пофиксена вне зависимости от количества символов.
          Ответить
      • хм. а я думал что это у меня виндовый клипборд/броузер глючит.

        у меня уже давно привычка появилась, в случае непонятных проблем, текст в vim пихать и прожевывать его регуляркой `:%s![\x20-\x7f]!!` (удаляет все печатаемые ASCII символы, оставляя только кракозябы/не-латиницу) или просто искать `/[^\x20-\x7f]`.
        Ответить
        • не понял, я скопировал текст из окна, ниче не заметил
          Ответить
          • Там перед "(" в той строке таится невидимый символ. Большинство юникодных программ его не показывают. Вот разве что вим показывает его кодом. Ну и редактор на ideone красной точкой.
            Ответить
            • Кстати, notepad++ тоже красную точку показал.
              Ответить
      • Боюсь, в IDE этот прикол не пройдет. В ipython не прошел.
        Ответить
        • Когда уже дошло до того, что моя, переписанная с нуля, регулярка пашет, а его - нет, засунул эти строки в vim и заметил подвох ;)

          QtCreator, eclipse, консоль линухи - не видят в упор. Ну разве что этот символ ощущается когда бегаешь по коду стрелками. Редактор с ideone кстати палит контору, и показывает этот символ в виде красной точки.

          Откуда взялся символ - тайна покрытая мраком. Видимо последствия копипаста откуда-то.
          Ответить
          • Охуеть, надо попробовать.
            Ответить
            • есть проще трюки людям падлу сделать.

              открываешь сырец, и заменяешь все латинские 'c' на русские 'c'.
              Ответить
              • О, это был мой первый баг. В 7 классе, на кружке программистов. Час понять ничего не мог. С тех пор всегда проверяю раскладку)
                Ответить
                • >>на кружке программистов

                  Никогда не видел в них пользы, учил языки в гордом одиночестве.
                  Возятся они там с паскалем, как первокурсник с застежкой лифчика.
                  Ответить
                  • ну так кружек был номинальным. Все приходили в кваку поиграть, а я - покодить
                    Ответить
                    • квака сильно затягиивала наверно,

                      >Возятся они там с паскалем, как первокурсник с застежкой лифчика.
                      зато первый опыт,
                      Ответить
                      • Чтобы лишиться анальной девственности, необязательно пиздовать в кружок. Групповуха, как никак..
                        Ответить
                  • > как первокурсник с застежкой лифчика
                    Хм, а зачем он его на себя надевает? Подозрительный первокурсник...
                    Ответить
                    • Непомерно Развитое Воображение Детектед.
                      Да хз. может, хочет почувствовать себя девушкой

                      Ответить
                      • а может качек, сизьге нада же где-то держать.
                        Ответить
                    • Зачем надевать. Застегивает и расстегивает на коленке.
                      Ответить
    • http://xkcd.com/1137/
      Ответить
      • http://xkcd.ru/1137/
        Ответить
        • показать все, что скрытоЭто не вы ищите кавказцев)))), мельком видел не двусмысленные сообщения. катался по полу от смеха.
          Ответить
          • >>мельком видел не двусмысленные сообщения

            Какие, вроде вот этого:

            Сделаю миньет парню кавказской национальности.Обращаться..
            ?
            Так их гость пишет, а не Тарас.
            Ответить
            • я конечно понял, но кому он так насолил?

              Впрочем это не мое дело.
              Ответить
      • Так будет правильнее: ‮http://xkcd.com/1137‭
        Ответить
        • Жаль в следующих параграфах сбрасывается :(
          Ответить
        • Прикольно выделяется. Можно написать текст наоборот, будет выглядеть как обычный, пока не захотят выделить. Можно использовать для обхода цензуры.
          Ответить
          • Можно ‮.ырузнец ‭использовать ‮адохбо ‭‭ для

            P.S. И защиты от копирования текста... Для теста попробуй скопировать первую строку этого сообщения. В юникодных редакторах ее нереально редактировать из-за прыгающего порядка букв. В неюникодных (или если выпилить символы) эта строка вообще превращается в хлам :)
            Ответить
            • > Для теста попробуй скопировать первую строку этого сообщения

              тройной клик.
              некоторым с этим жить :(
              Ответить
              • > тройной клик.
                Ну это выделить. А что остается в буфере после копирования? :)
                Ответить
                • Добавляется небольшой пробел после "использовать", а что?
                  Ответить
                • На самом деле хуже когда эти значки нужны, а не ставятся просто так. Например, предложение на иврите или арабском, в котором последнее слов написано латиницей (например, название компании какой-нибудь). И тогда точку в конце предложения нормально никак не поставить. Потому что, если это слово при верстке останется одно на строке, то точка поставленная слева от него будет выглядеть дико. Но если перед ним будет еще пару слов написаных в обратную сторону, тогда точку справа тоже не поставишь, т.как она будет визуально внутри предложения.
                  Ответить
            • > И защиты от копирования текста...
              Тут на каком-то этапе проще становится распознавать текст как изображение.

              Кстати, как-то погуглил слово "ястеялвя". Оказывается, в сети любят поиграть с этим.
              Мезотелиомой ястеялвя тихим убийцей, йыроток лежит в засаде на ... Это ястеялвя одной из форм рака, йыроток встречается очень редко.
              Ответить
            • del
              Ответить
          • Х‮.‭у‮а‭й‮д‭,‮р‭ ‮у‭П‮г‭и‮и‭з‮ж‭д‮Д‭а ‮ ‭ ‮ и‮

            Фраза, написанная в первой строчке данного коммента всяко пройдет через 99% маторезов ;)
            Ответить
            • Хммм, а спамеры до этого не догадались?
              Сам просил, сам же отвечу: а спамфильтры наверняка догадались с подозрением относиться к сообщением с большой концентрацией LTR- и RTL-меток.
              Ответить
              • Спамофильтры фильтруют только глупый и примитивный спам, по моему мнению. Ведь можно чередовать английские буквы/слова с русскими, вуалировать, скрывать прямой смысл. Но если спама несколько мегов текста - какой же спамер будет с этим заморачиваться? На этом и играют антиспамовцы.
                Ответить
            • очень прикольно смотрится, когда пытаюсь выделить текст
              Ответить
            • не, я не вкурил, в хтмл же написано:
              <p class="entry-info">
              <div class="entry-comment">
              <span class="comment-text">
              Х‮.‭у‮а‭й‮д‭,‮р‭ ‮у‭П‮г‭и‮и‭з‮ж‭д‮Д‭а ‮ ‭ ‮ и‮
              <br/>
              <br/>
               Фраза, написанная в первой строчке данного коммента всяко пройдет через 99% маторезов ;)
              </span>
              </div>
              <a class="answer" href="http://govnokod.ru/comments/13885/post?replyTo=200624" onclick="comments.moveForm(200624, 13885, this); return false;">


              аааа лол, посмотрел свой коммент, взлольнул
              Ответить
            • Интересно было назвать файл таким именем. Везде расширение где-то в середине и задом наперёд, в cmd отображаются лишние знаки вопроса, но всё равно оттуда можно открыть его в какой-то программе.
              Открыв файл в программе, которая любит писать "Имя файла -- Имя программы", получаем развёрнутое имя программы.
              Мелочь, а приятно.
              Ответить
              • > получаем развёрнутое имя программы
                У линуксового gedit'а еще и посреди текста: "Хуй, Пизда tideg - (1/pmt/) и Джигурда" ;)

                А ls показало его как "Х.уайд,р уПгиизждДа и" (причем копируется нормально, и можно вставить в какую-нибудь другую команду), что недалеко от истины ;)
                Ответить
                • FAR показал как «Х□.□у□а□й□д□,□р□ □у□П□г□и□и□з□ж□д□Д□а □ □ □ и□».

                  А виндовый explorer показывает как «Хуй,рда.Пизда и Джигу».
                  Ответить
            • Теперь понятно, почему на некоторых сайтах до сих пор восьмибитные кодировки.
              Ответить
              • Я видел по крайней мере один форумный движок, который кириллические символы в постах сохранял в базе в виде HTML-entities (&#xxxx;). И в HTML они прямо так и рендерились. Зато восьмибитная кодировка, экономия же!
                Ответить
                • http://govnokod.im/13629
                  Ответить
                  • > im
                    вот лол будет, когда все на ru вернут а im уберут за ненадобностью, а потом кто-то попытается пройти по ссылке
                    Ответить
                    • не щёлкается
                      Ответить
                      • Надо макаку попросить, чтобы хотя бы внутренние ссылки сделал.
                        Ответить
                    • А на ру уже цсрф верификатион еггог пофиксили?
                      Ответить
                      • Нет. Куки как отдавал на .im, так и отдает ;) Теперь еще пару месяцев гк будет стоять на раскоряку.
                        Ответить
                        • От блядь, точно макака. С этим чудиком как-то можно связаться? У него мозгов не хватает эксперементировать на тестовом сервере?

                          Для залагинивания скопируйте вручную куки с govnokod.im на govnokod.ru

                          Кстати, а как он может с ru куки на im отдать?
                          Ответить
                          • > Кстати, а как он может с ru куки на im отдать?
                            Да никак походу. Браузер должен тупо отбросить такой заголовок. Иначе бы сейчас пол инета друг другу куки присовывало ;)

                            > Для залагинивания скопируйте вручную куки с govnokod.im на govnokod.ru
                            Ага, после этого хотя бы кроссдоменные ссылки с .ru на .im и обратно не бесят... Уже сделал ;)
                            Ответить
                            • :)))))))
                              Надо отдельный говнокод создать. А если скопировать куки с к im на ru - заработает?

                              Перекатываемся http://govnokod.im/14120
                              Ответить
                              • Да, работает. Нужно переписать auth и PHPSESSID. (Этот коммент написан с .ru)

                                P.S. Огненной лисе куки пихать пришлось через анус пыху на локалхосте, добавив 127.0.0.1 govnokod.ru в hosts... Вот неужели им так трудно было приделать кроме кнопочки "удалить куку" еще и кнопочку "создать куку"?
                                Ответить
                                • Это же прыщелис, там для редактирования кук надо ПЛАГИН СТАВИТЬ. Куда там опере...
                                  Ответить
                                  • Кстати, нашел способ попроще. У фокса же куки в sqlite базе. Можно любой тулзой для правки sqlite'ов копировать куки. И не надо ставить плагины ;)
                                    Ответить
                                    • Ага, всего лишь перезапустить прыщелис + поковыряться в базе. UNIX way
                                      Ответить
                          • http://govnokod.ru/5615
                            Ответить
    • Опять какая-то кутешная питушня с кудебагами и хтмл-шлюхами. Модно что-ли?
      Ответить
      • Да тут Qt как бы сбоку :) Бага вполне портабельная, и могла бы случиться в проге на любом другом языке.
        Ответить
      • >>и хтмл-шлюхами.

        жжошь! )
        Ответить
        • — раздался пронзительный голос со стороны параши.

          Но пацаны, как всегда, не обратили внимания на это визгливое кукареканье. Пусть кукарекает, что с него взять?

          Петух — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его анус был разработан настолько, что он без труда мог спрятать в нём банку сгущёнки.
          Ответить

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