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

    Комментарии (14)
  2. Си / Говнокод #23539

    0

    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
    #include "string.h"
    #include "stdio.h"
    
    int main()
    {
      char c[15],*d = &c[0]; 
      scanf("%10u", &c[11]);
      sprintf(d, "%u\0",
         (c[11]&0xFF)|
        ((c[12]&0xFF)<<8)|
        ((c[13]&0xFF)<<16)|
        ((c[14]&0xFF)<<24));
      do if (c[0] > *d) c[0] = *d;
      while (*d++, *(d+1) != 0);
      printf("%d\n", c[0]-'0');
      return 0;
    }

    Находит наименьшее цифру в числе

    Sempai, 15 Ноября 2017

    Комментарии (2)
  3. Си / Говнокод #23534

    −1

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    #include <stdio.h>
    #include <stdlib.h>
    
    int * ptr;
    
    int * getptr()
    {
      puts("getptr");
      return ptr;
    }
    
    int jump()
    {
      puts("jump");
      ptr = (int*)malloc(sizeof(int));
      return 1337;
    }
    
    int main()
    {
      ptr = (int*)malloc(sizeof(int));
      *ptr = 0;
    
      *( getptr() ) = 1;
      printf( "*ptr = %i\n\n", *ptr );
    
      *( getptr() ) = (jump(), 100);
      printf( "*ptr = %i\n\n", *ptr );
    
      *( getptr() ) = jump();
      printf( "*ptr = %i\n\n", *ptr );
    
      return 0;
    }

    ШИКАРНО:

    Start

    getptr
    *ptr = 1

    jump
    getptr
    *ptr = 100

    getptr
    jump
    *ptr = 0

    0

    Finish

    bugspawn, 15 Ноября 2017

    Комментарии (68)
  4. Си / Говнокод #23488

    −6

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    #include <stdio.h>
    //аналог стрингбилдеру который есть в java!!!
    
    #define NUM 1000 //максимальный размер строки
    
    typedef struct {
    	char str[NUM];
    } StringBuilder;
    
    void append(StringBuilder *sb, char *str) //добавление строки
    {
    	sprintf(sb->str, "%s%s", sb->str, str); //гениально и просто хули
    }
    
    void setLength(StringBuilder *sb, int s)
    {
    	if(s > NUM || s < 0) return; //жуть
    	sb->str[s]='\0'; //гениальнетибл!
    }
    
    int main()
    {
    	StringBuilder sb;
    	sprintf(sb.str, "Привет америкосам");
    	printf("%s\n", sb.str);
    	append(&sb, ", я вас уделаю!");
    	printf("%s\n", sb.str);
    	setLength(&sb, 2);
    	printf("%s\n", sb.str);
    	setLength(&sb, 0);
    	printf("%s\n", sb.str);
    	return 0;
    }

    понос или не понос вот в чем вопрос

    pawn-master, 04 Ноября 2017

    Комментарии (1)
  5. Си / Говнокод #23487

    −7

    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
    #include <stdio.h>
    // Бесконечный дождик на экране! Ахуенчик ёпта
    int main()
    {
    	char c = '\\';
    	while(1)
    	{
    		for(int i=0; i<20; i++)
    		{
    			usleep(1000);
    			for(int sp=0;sp<i;sp++) printf(" "); //печатаем пробелы
    			printf("%c", c);
    		}
    	}
    }

    pawn-master, 04 Ноября 2017

    Комментарии (4)
  6. Си / Говнокод #23486

    −6

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    int main(int argc, char *argv[])
    {
    	if(argc != 2)
    		printf("НЕПРАВИЛЬНА: %s [ЧИСЛО]\n", argv[0]);
    	else
    	{
    		int d=atoi(argv[1]); //отработает в любом случае
    		for(int i=0; i<d; i++) {
    			sleep(1);
    			printf(".\n");
    		}
    	}
    	return 0;
    }

    pawn-master, 04 Ноября 2017

    Комментарии (2)
  7. Си / Говнокод #23485

    −8

    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
    #include <stdio.h>
    #include <time.h>
    
    int main(int argc, char const *argv[])
    {
    	printf("Подождите...\n");
    	long start = time(NULL);
    	FILE *f;
    	f = fopen("test", "w");
    	if(f == NULL) {
    		perror("fopen");
    		return 1;
    	}
    	for(int i=0; i<10000000; i++)
    		fputs("WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW", f);
    	fclose(f);
    	long stop = time(NULL);
    	long sec = stop-start;
    	int result = 1000/sec;
    	printf("Результат: секунд:%li скорость:%iмб/с\n", sec, result);
    	return 0;
    }

    понос.c

    pawn-master, 04 Ноября 2017

    Комментарии (7)
  8. Си / Говнокод #23484

    −6

    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
    //Program ".c"
    #include <sys/random.h>
    #include <stdio.h>
    
    int main() //non documented
    {
    	char a[10];
    	int r = getrandom(&a, 10, GRND_NONBLOCK);
    	if(r == -1) return r;
    	FILE *f = fopen("rnd", "w");
    	if(f == NULL) return -1;
    	r = fputs(a, f);
    	if(r == EOF) return r;
    	r = fclose(f);
    	if(r == -1) return r;
    	return 0;
    }

    pawn-master, 04 Ноября 2017

    Комментарии (0)
  9. Си / Говнокод #23428

    0

    1. 1
    https://pastebin.com/pk5bB1Y4

    Я вам покушать принес. Задача кратко и четко объяснить человеку, почему лучше обмазаться дотнетом чем винапи. Пока решил написать группе что следующий факультатив (на котором я должен разбирать их портянки) отменяется, а там что-нибудь придумаю. Две крайности - (new EchoServer).start() и вот это, что ты будешь делать.

    Fluttie, 18 Октября 2017

    Комментарии (67)
  10. Си / Говнокод #23426

    +3

    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
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    // https://github.com/vk-com/kphp-kdb/blob/ce6dead5b3345f4b38487cc9e45d55ced3dd7139/bayes/bayes-data.c#L1966
    
    int init_all (kfs_file_handle_t Index) {
      int i;
    
      log_ts_exact_interval = 1;
    
      ltbl_init (&user_table);
    
      bl_head = qmalloc (sizeof (black_list));
      black_list_init (bl_head);
    
      int f = load_header (Index);
    
      jump_log_ts = header.log_timestamp;
      jump_log_pos = header.log_pos1;
      jump_log_crc32 = header.log_pos1_crc32;
    
      int user_cnt = index_users = header.user_cnt;
    
      if (user_cnt < 1000000) {
        user_cnt = 1000000;
      }
    
      assert (user_cnt >= 1000000);
      user_cnt *= 1.1;
    
      while (user_cnt % 2 == 0 || user_cnt % 5 == 0) {
        user_cnt++;
      }
    
      ltbl_set_size (&user_table, user_cnt);
      users = qmalloc (sizeof (user) * user_cnt);
    
      for (i = 0; i < user_cnt; i++) {
        user_init (&users[i]);
      }
    
      LRU_head = users;
      LRU_head->next_used = LRU_head->prev_used = LRU_head;
    
      if (f) {
        try_init_local_uid();
      }
    
      if (index_mode) {
        buff = qmalloc (max_words * sizeof (entry_t));
        new_buff = qmalloc (4000000 * sizeof (entry_t));
      }
    
      return f;
    }

    http://govnokod.ru/23357#comment390273
    > Говорят что в ВК в начале была такая херь: "уже зарегистрировано N" и это N увеличивалось джаваскриптом со случайной скоростью вообще без связи с сервером

    Если я правильно понял, вконтакт продолжает пиздеть по поводу фактического количества зареганых на нем пользовалелей, но теперь делает это на бэкенде

    user_cnt *= 1.1;

    cunt

    j123123, 17 Октября 2017

    Комментарии (28)