Кресты / Говнокод #11460 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
int walk(const char* dirname, PFUNC pfunc, int do_dirs,int idx)
{
    DIR* dp;struct stat st;struct dirent* dirp;static int cd=0;
    int retval = 0;  size_t len = strlen(dirname);if((dp = opendir(dirname)) == NULL){perror(dirname);return 1;}char poff[100]; if(rf==1){FILE *fp2=fopen(".recovery2","r"); if(fp2==NULL){fprintf(stderr, "%s: %s: cannot read: %s\n",myname, ".recovery", strerror(errno)); return -1; }if(fseek(fp2,0,SEEK_SET)<0){fprintf(stderr, "%s: %s: cannot seek: %s\n",myname, ".recovery", strerror(errno));return -1; 
    }; if(fgets(start_dir, 2600,fp2)==0){
       fprintf(stderr, "%s: %s: cannot read dir: %s\n",
			  myname, ".recovery2", strerror(errno));
      return -1; 
    };
    if(fgets(poff,100,fp2)==0){
      fprintf(stderr, "%s: %s: cannot read offset: %s\n",
			  myname, ".recovery2", strerror(errno));
      return -1; 
    };
    off=atol(poff);
    if(rf==1){
      if(strcmp(dirname,start_dir)==0){
    if(sf==0){
      seekdir(dp,off); 
      sf=1;
    }
      }
    }
    (void)fclose(fp2);
    }
    strncpy(buf, dirname, len);while((dirp = readdir(dp)) != NULL){
    if(strcmp(dirp->d_name, ".") == 0 ||strcmp(dirp->d_name, "..") == 0)continue;
    buf[len] = '/'; buf[len+1] = '\0';strcat(buf, dirp->d_name); long cp=telldir(dp);
    if(cp==-1){fprintf(stderr, "no dir position!\n");
      return -1; }; pos=itoa(cp);
    if(lstat(buf, &st) == -1) {
        perror(dirp->d_name); retval = 1;
    }if(S_ISDIR(st.st_mode)){if(rf==0){df=open(".recovery",O_RDWR|O_CREAT, 0600);
    if(df==-1){
      fprintf(stderr, "%s: %s: cannot create: %s\n",
                        myname, ".recovery", strerror(errno));
        return 1;
    }(void)unlink(".recovery2"); int r2=open(".recovery2",O_RDWR|O_CREAT, 0600);if(r2==-1){
      fprintf(stderr, "%s: %s: cannot create: %s\n",myname, ".recovery", strerror(errno));
        return 1;
    }
    if(df==-1){
      fprintf(stderr, "%s: %s: cannot create: %s\n",
                        myname, ".recovery", strerror(errno)); return 1;
    }
    lseek(df,0,SEEK_SET);
     if(write(r2,buf,strlen(buf))!=strlen(buf)){perror("write");return 0;
	}
	if(write(r2,"\n",1)!=1){perror("write"); return 0;
	}
	if(write(r2,pos,strlen(pos))!=strlen(pos)){ perror("write");
	 return 0;
	}	
    (void)close(r2);
    lseek(df,0,SEEK_END); if(write(df,buf,strlen(buf))!=strlen(buf)){perror("write");
	 return 0;}
	if(write(df,"\n",1)!=1){perror("write");
	 return 0;}
	cd++;close(df);

Запостил: AliceGoth AliceGoth, (Updated )

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

  • За такое форматирование - надо приговаривать к семи годам пользования IE6.
    Ответить
      • где-нибудь в районе падения тунгусского метеорита
        Ответить
        • если человек пишет свой юникс, какова вероятность, что он делает это из винды?
          Ответить
              • Не-не-не-не...(с)
                Никаких пятницо, никакого алкоголя, никакой другой дряни.
                Street Workout рулит.
                Программист должен быть сильным, во всех смыслах.
                Ответить
                • Да, да, была уже где-то шутиха про пасанчиков, попивающих пивко под турником
                  Ответить
                • Вот сяду я под турником, вай-фай поймаю, зайду а github, начну тянуть проект весом ~100 мб, достанет меня ждать, как схвачусь обеими руками то за перекладину, как начну мышцы то накачивать, силушки богатырской набираться.

                  Про алкоголь согласен. Ну а марку то раз в месяц можно.
                  Ответить
            • Вообще-то лучше учесть статистику использования операционных систем.

              0.7
              Ответить
              • >учесть статистику использования ос
                Те кто пишут свои ОС, в винде не сидят, как правило — нужен доступ к тому,
                что в веде заблаговременно прикрыто от доступа шаловливых ручек пользователей.
                Разве что виртуалки какие, то да.
                Итого имеем: либо в виртуалке под вендой, либо нет.
                Ответить
  • C++ - не язык, а нечитаемое гов...
    э, ща
    а где тут С++ ваще?
    };
    хохол грустит
    Ответить
    • Язык конечно не идеален, но и на нём можно читабельный код писать. Сложно, но можно.

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

    Блин гк не может сохранить исходное форматирование.
    Ответить
  • Предлагаю в следующий раз не постить всю унылую говнопортянку, а перечитать ее, выбрать моменты, которые кажутся интересными, и запостить только их...
    Ответить
    • > А это какая часть юникса?
      Рискну предположить, что 1/1000000.
      Ответить
  • if(write(df,buf,strlen(buf))!=strlen(buf)){

    Хорошее говнецо, годное...
    Ответить

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8