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

    +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
    PHPAPI void php_var_export_ex(zval *struc, int level, smart_str *buf) /* {{{ */
    {
    	/* insignificant bullshit omitted */
    	zend_string *ztmp, *ztmp2;
    
    	switch (Z_TYPE_P(struc)) {
    		case IS_STRING:
    			ztmp = php_addcslashes(Z_STR_P(struc), 0, "'\\", 2);
    			ztmp2 = php_str_to_str(ZSTR_VAL(ztmp), ZSTR_LEN(ztmp), "\0", 1, "' . \"\\0\" . '", 12);
    
    			smart_str_appendc(buf, '\'');
    			smart_str_append(buf, ztmp2);
    			smart_str_appendc(buf, '\'');
    
    			zend_string_free(ztmp);
    			zend_string_free(ztmp2);
    			break;
    	}
    }
    /* }}} */

    Пыхарь: Расмус, у меня верстка едет, когда я через var_export() нулевые байты в браузер кидаю. Пофикси! (https://bugs.php.net/bug.php?id=37262)
    Расмус: Пофиксил тебе за щеку. Проверяй. (https://github.com/php/php-src/blob/master/ext/standard/var.c#L482)
    Пыхарь: Проверил. Помогло. (https://ideone.com/gnCKh1)

    Запостил: Stallman, 16 Ноября 2017

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

    • ztmp3 = php_mysql_real_escape(...
      Ответить
    • idiot at mail dot ru
      Ответить
    • > /* {{{ */
      > /* }}} */

      Это ФОЛДИНГИ такие чтоли? типа
      #region
      #endregion
      в шарпе?
      Ответить
      • Ага. https://stackoverflow.com/questions/9714863/three-curly-brackets-together-in-php-source-code
        Ответить
        • Они ещё и доки из этих фолдингов генерят. Анскилл какой-то, толи дело «Emacs»:
          DEFUN ("fontset-list-all", Ffontset_list_all, Sfontset_list_all, 0, 0, 0,
                 doc: /* Return a brief summary of all fontsets for debug use.  */)
            (void)
          {
            Lisp_Object val;
            int i;
          
            for (i = 0, val = Qnil; i < ASIZE (Vfontset_table); i++)
              if (! NILP (AREF (Vfontset_table, i)))
                val = Fcons (dump_fontset (AREF (Vfontset_table, i)), val);
            return (Fnreverse (val));
          }
          Ответить
    • я хуею. у них что вообще нет никаких стандартов качества?..

      или пых 4-х летние дети пишут?
      Ответить
    • This site can’t be reached

      bugs.php.net took too long to respond.

      сука
      Ответить

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