1. Список говнокодов пользователя Necromant

    Всего: 8

  2. Java / Говнокод #22764

    −14

    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
    private class SendRunnable implements Runnable {
                private SendRunnable() {
                }
    
                public void run() {
                    while (SendQueue.this.isRunning) {
                        try {
                            CmdCoder.this.writeToBluetoothLe((byte[]) SendQueue.this.queue.take());
                            Thread.sleep(600);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }

    Купил себе у китаез фитнес браслетик (ttlife DF30). В андроед-программе было написано что есть новая фирмваря, окей, обновляем... Скачалось из интернетов за пару минут, обновлялось час... Спустя некоторое время решил задизассемблить и добавить поддержку браслета в gadgetbride. Внутри нашел ответ на вопрос, почему оно так долго апдейтилось. В коде выше кусок треда, отправляющего команды из глобальной очереди в браслет.

    Necromant, 09 Апреля 2017

    Комментарии (31)
  3. bash / Говнокод #20377

    −47

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (! $?PROJECT_ROOT ) then
    setenv PROJECT_ROOT `dirname $TEST_PATH`
    setenv PROJECT_ROOT `dirname $PROJECT_ROOT`
    setenv PROJECT_ROOT `dirname $PROJECT_ROOT`
    setenv PROJECT_ROOT `dirname $PROJECT_ROOT`
    endif

    На самом деле CShell. Когда .. писать лень.

    Necromant, 14 Июля 2016

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

    +135

    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
    static int
    wl_iw_get_country(
            struct net_device *dev,
            struct iw_request_info *info,
            union iwreq_data *wrqu,
            char *extra
    )
    {
    	char *ccode;
    	int current_channels;
    	
    	WL_TRACE(("%s\n", __FUNCTION__));
    
    	ccode = dhd_bus_country_get(dev);
    	if(ccode){
    		if(0 == strcmp(ccode, "Q2"))
    			current_channels = 11;
    		else if(0 == strcmp(ccode, "EU"))
    			current_channels = 13;
    		else if(0 == strcmp(ccode, "JP"))
    			current_channels = 14;
    	}
    	sprintf(extra, "Scan-Channels = %d", current_channels);
    	printk("Get Channels return %d,(country code = %s)\n",current_channels, ccode);	
    	return 0;
    }

    На этот раз отличился броадком.
    Подсказка: Пользователи с кантри-кодом RU должны СТРАДАТЬ!

    Necromant, 25 Ноября 2013

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

    +136

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    /*
     * Just a wifi driver hooker.
     *
     * Yongle Lai @ 2009-05-10 @ Rockchip
     */
    
    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/kernel.h>
    
    MODULE_LICENSE("Dual BSD/GPL");
    
    #ifdef CONFIG_MODVERSIONS
    #define MODVERSIONS
    #include <linux/modversions.h>
    #endif 
    
    //#define OLD_WIFI_IFACE
    
    #ifdef OLD_WIFI_IFACE
    extern int mv88w8686_if_sdio_init_module(void);
    extern void mv88w8686_if_sdio_exit_module(void);
    #else
    extern int rockchip_wifi_init_module(void);
    extern void rockchip_wifi_exit_module(void);
    #endif
    
    static int wifi_launcher_init(void) 
    {
      int ret;
    
      printk("=======================================================\n");
      printk("==== Launching Wi-Fi driver! (Powered by Rockchip) ====\n");
      printk("=======================================================\n");
    
    #ifdef OLD_WIFI_IFACE
      ret = mv88w8686_if_sdio_init_module();
      if (ret) /* Try again */
            ret = mv88w8686_if_sdio_init_module();
    #else
      ret = rockchip_wifi_init_module();
      //if (ret) /* Try again */
      //    ret = rockchip_wifi_init_module();
    #endif
    
      return ret;
    }
    
    static void wifi_launcher_exit(void) 
    {
      printk("=======================================================\n");
      printk("== Dis-launching Wi-Fi driver! (Powered by Rockchip) ==\n");
      printk("=======================================================\n");
    
    #ifdef OLD_WIFI_IFACE
      mv88w8686_if_sdio_exit_module();
    #else
      rockchip_wifi_exit_module();
    #endif
    }
    
    module_init(wifi_launcher_init);
    module_exit(wifi_launcher_exit);

    Вот так вот, просто и незатейливо на RK3188 включается и выключается вайфай.

    Necromant, 25 Ноября 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    int rkwifi_set_country_code(char *code)
    {
    	sprintf(code, "%s", "EU");
    	return 0;
    }

    Где-то в сырцах драйвера вайфая от RK3188...

    Necromant, 25 Ноября 2013

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    if ((frequency < config->frequency_max) || (frequency > config->frequency_min)) {
          printk(KERN_ERR "%s: Frequency beyond limits, frequency=%d\n", __func__, frequency);
          return -EINVAL;
        }

    Коллега отыскал где-то в недрах dvb подсистемы, в драйвере mopll'ки TDA6651.

    Necromant, 12 Декабря 2012

    Комментарии (5)
  8. bash / Говнокод #12229

    −127

    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
    #!/bin/bash
    set -e
    
    KEHU_FILE=kehu_ruikemei
    
    echo "*************"
    echo "rm logo_linux_clut224"
    echo "*************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.ppm -exec rm -f {} \;
    
    echo "***********************"
    echo "copy logo_linux_clut224.ppm"
    echo "***********************"
    cp $KEHU_FILE/logo_linux_clut224.ppm drivers/video/logo/
    
    echo "***********************"
    echo "make kernel.img"
    echo "***********************"
    make kernel.img -j4
    
    echo "***********************"
    echo "return origin files"
    echo "***********************"
    find drivers/video/logo/ -name logo_linux_clut224.o -exec rm -f {} \;
    find drivers/video/logo/ -name logo_linux_clut224.c -exec rm -f {} \;
    git checkout -- drivers/video/logo/logo_linux_clut224.ppm
    
    echo "return origin files success!!!"

    Скрипт в корне исходников ядра linux для Rockchip RK3066.

    Necromant, 30 Ноября 2012

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
     kill_proc(1,SIGTERM,1);
     #else
    ...

    Оригинальный способ проверить версию ядра линукса...
    Где-то в сырцах реалтековского драйвера для GPIO...

    Necromant, 25 Августа 2011

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