1. Perl / Говнокод #13970

    −162

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    С'шная либа: http://fossies.org/dox/imlib2-1.4.5/image_8c_source.html
    
    смотрим код сохраняющий картинку:
    
     1241 __imlib_SaveImage(ImlibImage * im, const char *file,
     1242                   ImlibProgressFunction progress, char progress_granularity,
     1243                   ImlibLoadError * er)
    ..........................................
    ..........................................
    
     1290         *er = IMLIB_LOAD_ERROR_UNKNOWN;
     1291         if (errno == EEXIST)
     1292            *er = IMLIB_LOAD_ERROR_FILE_DOES_NOT_EXIST;
     1293         else if (errno == EISDIR)
     1294            *er = IMLIB_LOAD_ERROR_FILE_IS_DIRECTORY;
     1295         else if (errno == EISDIR)
     1296            *er = IMLIB_LOAD_ERROR_FILE_IS_DIRECTORY;
     1297         else if (errno == EACCES)
     1298            *er = IMLIB_LOAD_ERROR_PERMISSION_DENIED_TO_WRITE;
     1299         else if (errno == ENAMETOOLONG)
     1300            *er = IMLIB_LOAD_ERROR_PATH_TOO_LONG;
     1301         else if (errno == ENOENT)
     1302            *er = IMLIB_LOAD_ERROR_PATH_COMPONENT_NON_EXISTANT;
     1303         else if (errno == ENOTDIR)
     1304            *er = IMLIB_LOAD_ERROR_PATH_COMPONENT_NOT_DIRECTORY;
     1305         else if (errno == EFAULT)
     1306            *er = IMLIB_LOAD_ERROR_PATH_POINTS_OUTSIDE_ADDRESS_SPACE;
     1307         else if (errno == ELOOP)
     1308            *er = IMLIB_LOAD_ERROR_TOO_MANY_SYMBOLIC_LINKS;
     1309         else if (errno == ENOMEM)
     1310            *er = IMLIB_LOAD_ERROR_OUT_OF_MEMORY;
     1311         else if (errno == EMFILE)
     1312            *er = IMLIB_LOAD_ERROR_OUT_OF_FILE_DESCRIPTORS;
     1313         else if (errno == ENOSPC)
     1314            *er = IMLIB_LOAD_ERROR_OUT_OF_DISK_SPACE;
     1315         else if (errno == EROFS)
     1316            *er = IMLIB_LOAD_ERROR_PERMISSION_DENIED_TO_WRITE;
    
    обращаем внимание на строки *er =
    в них записываются разные типы ошибок, обращаем внимаение на то, сколько типов используется
    
    теперь берем перловую обертку: Image::Imlib2 (http://search.cpan.org/~lbrocard/Image-Imlib2-2.03/lib/Image/Imlib2.pm)
    находим метод сохранения картинки, он в xs части lib/Image/Imlib2.xs
    
    void
    Imlib2_save(image, filename)
        Image::Imlib2   image
        char * filename
    
        PROTOTYPE: $$
    
            CODE:
        {
                    Imlib_Load_Error err;
    
            imlib_context_set_image(image);
            imlib_save_image_with_error_return(filename, &err);
    
                    if (err != IMLIB_LOAD_ERROR_NONE) {
                      Perl_croak(aTHX_ "Image::Imlib2 save error: Unknown error");
                    }
        }
    
    
    imlib_save_image_with_error_return вызывает в конечном итоге __imlib_SaveImage из C'шной либы
    обращаем внимание на то, как теперь подробно можно узнать о том, почему не удалось сохранить картинку
    
    пример вывода такого кода в случае ошибки:
    
    Image::Imlib2 save error: Unknown error at BL/Class/Image.pm line 608.
    
    до тех пор, пока есть такие гении, я не беспокоюсь о своем хлебе

    m0r1k, 18 Октября 2013

    Комментарии (31)
  2. Objective C / Говнокод #13969

    −121

    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
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    @interface MICheckBox : UIButton{
        BOOL isChecked;
        AppDelegate * appp;
    }
    @property(nonatomic,assign)BOOL isChecked;
    @property(nonatomic,retain)AppDelegate * appp;
    -(IBAction) checkBoxClicked:(id)tt;
    @end
    
    
    @implementation MICheckBox
    
    - (id)initWithFrame:(CGRect)frame {
        self = [super initWithFrame:frame];
        appp=(AppDelegate *)[[UIApplication sharedApplication]delegate];
    
        if (self) {
            self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
           [self setImage:[UIImage imageNamed:@"cb_dark_off.png"] forState:UIControlStateNormal];
           [self addTarget:self action:@selector(checkBoxClicked:)forControlEvents:UIControlEventTouchUpInside];
       }
        return self;
    }
    
    -(IBAction)checkBoxClicked:(id)tt{
        MICheckBox *ss = (MICheckBox *)tt;
    
        if(self.isChecked ==NO){
            self.isChecked =YES;
            [self setImage:[UIImage imageNamed:@"cb_dark_on.png"]forState:UIControlStateNormal];
    
            int JumpTo_swichCase = ss.tag/1000;
            NSLog(@"---------------------------------------------------------------");
            NSLog(@"AAAAAAA Which Swich CASE==%d",JumpTo_swichCase);
    
    switch (JumpTo_swichCase) {
                case 12:{
                    if(ss.tag>=12100){
                         NSLog(@"AAAAAAA CK.tag=%d",ss.tag);
                        int GG = ss.tag;
                        GG=GG-12100;
                         NSLog(@"You have Cheked CK===%@",[appp.Arr_ZWhyDiditHappen objectAtIndex:GG]);
                        [appp.ArrSTATUS_CKWhyDidHappen addObject:[appp.Arr_ZWhyDiditHappen  objectAtIndex:GG]];
                    }else if (ss.tag>=12000){
                        NSLog(@"AAAAAAA CK.tag=%d",ss.tag);
                        int GG = ss.tag;
                        GG=GG-12000;
                         NSLog(@"You have Cheked CK===%@",[appp.Arr_ZhowYouFelt objectAtIndex:GG]);
                        [appp.ArrSTATUS_CKHowyouFelt addObject:[appp.Arr_ZhowYouFelt objectAtIndex:GG]];
                    }
    }break;
    
    default:{
    }break;
    }
    }
    
    //------------------------------------------------------------------------------------------
        else{
        self.isChecked =NO;
        [self setImage:[UIImage imageNamed:@"cb_dark_off.png"]forState:UIControlStateNormal];
    
        int JumpTo_swichCase = ss.tag/1000;
        NSLog(@"---------------------------------------------------------------");
        NSLog(@"RRRRRRRR Which Swich CASE==%d",JumpTo_swichCase);
    
    switch (JumpTo_swichCase) {
        case 12:{
            if(ss.tag>=12100){
                NSLog(@"RRRRRRRR CK.tag=%d",ss.tag);
                int GG = ss.tag;
                GG=GG-12100;
                NSLog(@"You have Cheked CK===%@",[appp.Arr_ZWhyDiditHappen objectAtIndex:GG]);
                [appp.ArrSTATUS_CKWhyDidHappen removeObject:[appp.Arr_ZWhyDiditHappen  objectAtIndex:GG]];
            }else if (ss.tag>=12000){
                NSLog(@"RRRRRRRR CK.tag=%d",ss.tag);
                int GG = ss.tag;
                GG=GG-12000;
                NSLog(@"You have Cheked CK===%@",[appp.Arr_ZhowYouFelt objectAtIndex:GG]);
                [appp.ArrSTATUS_CKHowyouFelt removeObject:[appp.Arr_ZhowYouFelt objectAtIndex:GG]];
            }
        }break;
    
    default:{
    }break;
    }
    } 
    }

    Вот такой вот чекбокс. Пример использования внутри.

    ArtFeel, 18 Октября 2013

    Комментарии (8)
  3. Java / Говнокод #13968

    +74

    1. 1
    if (!(bundle == null))

    byob, 18 Октября 2013

    Комментарии (13)
  4. Куча / Говнокод #13967

    +132

    1. 1
    2. 2
    СТАВЬ ЛАЗАНЬЮ ЛЮКСЕНБУРГ ЛЕЙС ЛОЙС ЛАЙК ЛАВАНДЫШ ЛАПШУ ЛЕЙКАПЛАСТЫРЬ ЛАРУКРОФТ ЛУГАНСК ЛАНТАНОЙД ИЛЕ У ТИБЯ
    БУДАПЕШТ БАГЕТ БАГОР БАМБАЛЕЙЛА БАГРАТИОН БАТРУДИНАФ БАРАБИТ БУЛКА БИШКЕК

    СТАВЬ МНЕ ЛАЙК КАРОЧ ИЛЕ ТЫ ЛАЛКА С ГАРЯЩИМ ПУКАНОМ АЗАЗАЗАЗАЗАЗАШЩЗВШАЫВГАЛДВЫОАЛВЫОАРАРА)) 00)0)))нульскопка

    PragramistOtBoga, 18 Октября 2013

    Комментарии (32)
  5. Куча / Говнокод #13966

    +121

    1. 1
    2. 2
    3. 3
    ref <- newIORef 0
    replicateM_ 1000000 $ modifyIORef ref (+1)
    readIORef ref >>= print

    LispGovno, 17 Октября 2013

    Комментарии (10)
  6. PHP / Говнокод #13965

    +142

    1. 1
    2. 2
    3. 3
    function anal_display()
      {
    ....

    bigsmile, 17 Октября 2013

    Комментарии (55)
  7. JavaScript / Говнокод #13964

    +153

    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
    //Флаг установки поля "дальше"
    var AgreeRes = function () {
        var res             = true,
            people_count    = $('.bookingPassengersTitle').length,
            pcount          = 6,
            $pa             = $('.required.passport_term.checkPassportData.valid'),
            $pas            = $('.required.passposrt_num.valid')  ,
            $male           = $('.male.required.valid'),
            $ch             = $('.required.birth_date.checkBirth.valid') ,
            $nam            = $('.required.first_name.valid'),
            $name           = $('.required.sec_name.valid');
    
        var button_count = 0    +
                $pa.length      +
                $pas.length     +
                $male.length    +
                $ch.length      +
                $nam.length     +
                $name.length;
    
        res = button_count == people_count * pcount || button_count == 0;
        
        if (  $('.required.passport_term.checkPassportData.valid, ' +
                '.required.passposrt_num.valid, ' +
                '.male.required.valid, ' +
                '.required.birth_date.checkBirth.valid, ' +
                '.required.first_name.valid, ' +
                '.required.sec_name.valid').length > 0 ) {
            if (res == false
                || $pa.val().trim().toString()      === ""
                || $pas.val().trim().toString()     === ""
                || $male.val().trim().toString()    === ""
                || $ch.val().trim().toString()      === ""
                || $nam.val().trim().toString()     === ""
                || $name.val().trim().toString()    === "") {
    
                res = false;
            }
        }
    
        return res;
    }

    Клиентская валидация контролов

    sladkijBubaleh, 17 Октября 2013

    Комментарии (0)
  8. PHP / Говнокод #13963

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try {
    ...
    } catch ( Exception $e ) {
        throw new Exception( $e->getMessage() );
    }

    Словили исключение и послали его дальше.

    enures, 17 Октября 2013

    Комментарии (10)
  9. Java / Говнокод #13962

    +141

    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
    public class SimpleTest {
        class A {}
        class B extends A {};
        class C extends B {};
    
        public void doIt() {
            A a = new A();
            B b = new B();
            C c = new C();
    
            List<B> lst = new ArrayList<B>();
            lst.add(a);
            lst.add(b);
            lst.add(c);
    
            a = lst.get(0);
            b = lst.get(0);
            c = lst.get(0);
    
            List<? extends B> lstExtends = lst;
            lstExtends.add(a);
            lstExtends.add(b);
            lstExtends.add(c);
    
            a = lstExtends.get(0);
            b = lstExtends.get(0);
            c = lstExtends.get(0);
    
            List<? super B> lstSuper = lst;
            lstSuper.add(a);
            lstSuper.add(b);
            lstSuper.add(c);
    
            a = lstSuper.get(0);
            b = lstSuper.get(0);
            c = lstSuper.get(0);
        }
    }

    Какие строки вызовут ошибку компиляции?

    huitka, 16 Октября 2013

    Комментарии (15)
  10. C# / Говнокод #13961

    +126

    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
    using System.Management;
    
    try
    {
        ManagementObjectSearcher searcher =
            new ManagementObjectSearcher("root\\CIMV2",
            "SELECT * FROM Win32_DiskDrive");
    
        foreach(ManagementObject queryObj in searcher.Get())
        {
            foreach(ManagementObject o in queryObj.GetRelated("Win32_DiskPartition"))
            {
                foreach(ManagementBaseObject b in o.GetRelated("Win32_LogicalDisk"))
                {
                    Debug.WriteLine("    #Name: {0}", b["Name"]);
                }
            }
            // One of: USB, IDE
            Debug.WriteLine("Interface: {0}", queryObj["InterfaceType"]);
            Debug.WriteLine("--------------------------------------------");
        }
    }
    catch (ManagementException f)
    {
        Debug.WriteLine(f.StackTrace);

    Тру кодер изобрел собственный способ получения сведений о дисках.

    WinApi для петушков.

    Stertor, 16 Октября 2013

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