Что выполняют данные участки кода?

194
09 июля 2018, 22:40

Собственно сами участки кода:

while((opts = getopt (argc, argv, "x:u:t:w:h")) != -1){
    switch(opts){
        case 'h':
            check_h = 1;
            break;
        case 'x':
            HOST = optarg;
            break;
        case 'w':
            file_name = optarg;
            break;
        case 'u':
            USER = optarg;
            break;
        case 't':
            THREADS = atoi(optarg);
        case '?':
            if(optopt == 'w')
                fprintf(stderr, "Option -w requires an argument.\n");
            else if(optopt == 'x')
                fprintf(stderr, "Option -x requires an argument.\n");
            else if(optopt == 'u')
                fprintf(stderr, "Option -u requires an argument.\n");
            else if(optopt == 't')
                fprintf(stderr, "Option -t requires an argument.\n");
            else if(optopt == 0)
                break;
            else
                fprintf (stderr, "Unknown option `-%c'.\n", optopt);
            return 1;
        default:
            abort();
    }
}

2 часть:

int line = 0,maxsize = 0,t = 0;
while( (C = fgetc(wordlist)) != EOF ){
    if(C=='\n'){
        if(t>maxsize)
            maxsize = t;
        t = 0;
        line++;
    }
    t++;
}

3 часть:

    while( (C = fgetc(wordlist)) != EOF ){
    if(C=='\n'){
        Password[pos] = '\0';
        pos = 0;
        tmp = fork();
        if(tmp){
            pids[j] = tmp;
        } else if(tmp == 0){
            ssh_brute(Password);
            exit(0);
        } else {
            fprintf(stderr,"\n\t[-] Fork Failed!\n\n");
        }
        j++;
        if(j==THREADS){
            for(i=0;i<THREADS;i++){
                waitpid(pids[i],NULL,0);
            }
            for(i=0;i<THREADS;i++){
                pids[i] = 0;
            }
            j = 0;
        }
    } else {
        Password[pos] = C;
        pos++;
    }
    if(*cracked == 1){
        for(i=0;i<THREADS;i++){
            if(pids[i] == 0) continue;
            kill(pids[THREADS],SIGTERM);
        }
        break;
    }
}
fclose(wordlist);

P.S. полный модуль находится по ссылке. Спасибо.

READ ALSO
Как передать кнопку в слот QT

Как передать кнопку в слот QT

У меня есть кнопка button_one и слот Paint_orb который по сигналу Clicked делает вот что :

151
Как в Qt создать кастомный элемент для QListView\QListWidget

Как в Qt создать кастомный элемент для QListView\QListWidget

Необходимо создать список виджетов (большой), в каждом виджете списка имеются кнопки\чекбоксы и тд

160
Посчитать кол-во слов в строке из файла

Посчитать кол-во слов в строке из файла

Есть текстовый файл, в котором записано несколько строкСлова разделены пробелами

204