Няшная / Говнокод #12983 Ссылка на оригинал

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
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>

void usage(char *progname)
{
    fprintf(stderr,"Usage: %s [-i <interval>]\n",progname);
    exit(1);
}

int main(int argc, char *argv[])
{
    int arg;
    size_t alloc = 1000;
    uid_t userid = getuid();

    while ((arg = getopt(argc,argv,"")) != -1) {
        switch(arg) {
            default:
                usage(argv[0]);
                break;
        }
    }

    //const char *basecmd = "sudo turbostat -s -i 1 2>&1";
    char ghz[8];
    char *junkbuffer = malloc(sizeof(char)*1000);
    const char *basecmd = "turbostat -s -i 1 2>&1";

    seteuid(0);
    setuid(0);
    FILE *turboPipe = popen(basecmd,"r");
    seteuid(userid);
    setuid(userid);

    /* ignore first line */
    getline(&junkbuffer,&alloc,turboPipe);
    fscanf(turboPipe,"%*s %s %*s %*s %*s %*s %*s %*s %*s %*s %*s\n",ghz);
    free(junkbuffer);

    fprintf(stdout,"%s\n",ghz);
    pclose(turboPipe);

    return 0;
}

Установил новый Debian на ноут. Искал инфу по Intel TurboBoost.
Наткунлся на это
http://technicallyliving.blogspot.com/2012/06/intel-turboboost-and-linux.html

Улыбнул вайл-свитч. Что мешало автору обойтись без свитча?

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

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

  • > Улыбнул вайл-свитч.
    Не вижу ничего смешного (см. ниже).

    > Что мешало автору обойтись без свитча?
    Копипаста. while(arg = getopt(...)) + switch (arg) это же стандартная идиома для парсинга опций. Поэтому автор это или скопипастил неглядя с другого проекта, или намеренно оставил как задел на будущее, когда опции все-таки появятся.

    P.S. Судя по коду в usage() опция там действительно планировалась.
    Ответить
    • Интуитивно я догадывался, но хотелось уточнить (с)
      Ответить

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

Из-за тебя ушел bormand, guest!

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


    8