[devel] Исправление warnings. Нужна помощь

php-coder =?iso-8859-1?q?php-coder_=CE=C1_altlinux=2Eru?=
Чт Дек 8 13:49:19 MSK 2005


    Здравствуйте!

    Пытаюсь сделать, чтобы программа на С при компиляции с флагом -Wall не
    выдавала никаких warning'ов. Но сам немножко испугался кода и решил
    попросить помощи у вас.

    1)

    cpu_linux.c: In function `cpu_init':
    cpu_linux.c:63: warning: use of assignment suppression and length
    modifier together in scanf format
    [ и так ещё 5 раз в этой строчке ]

    вот кусок кода:

    static int is_linux26;
    ...
    unsigned long long softirq;
    ...
    is_linux26 = fscanf(fp, "%*s  %*llu %*llu %*llu %*llu %*llu %*llu
    %llu", &softirq);

    Читают файл /proc/stat. Что здесь не правильно? (полагаю, что
    количество %X не совпадает с количеством переменных в fscanf ?)

    2)

    cpu_linux.c: In function `cpu_get_usage':
    cpu_linux.c:93: warning: unsigned int format, different type arg (arg 3)
    cpu_linux.c:93: warning: unsigned int format, different type arg (arg 4)
    cpu_linux.c:93: warning: unsigned int format, different type arg (arg 5)
    cpu_linux.c:93: warning: long unsigned int format, different type arg
    (arg 6)

    Кусок кода:

    unsigned long long user, nice, system, idle, iowait, irq, softirq;
    ...
    if (opts->cpu_number == -1) {
        if (is_linux26)
            fscanf(fp, "%*s  %llu %llu %llu %llu %llu %llu %llu",
                   &user, &nice, &system, &idle, &iowait, &irq, &softirq);
        else
            fscanf(fp, "%*s  %u %u %u %lu", &user, &nice, &system, &idle);
    ...

    Думаю, что надо привести во втором fscanf'e всё как в первом, т.е.
    %llu вместо %u. Ничего страшного при этом не произойдет?

    3)

    main.c: In function `redraw':
    main.c:223: warning: 'backdrop' might be used uninitialized in this
    function

    Вот код:

    Pixmap backdrop;

    switch (backlight) {
    case LIGHTON:
        backdrop = backdrop_on;
        x = 2;
        break;
    case LIGHTOFF:
        backdrop = backdrop_off;
        x = 0;
        break;
    }

    Хочу добавить сюда defaults, только вот что туда написать? Точнее,
    не знаю каким значением инициализировать переменную backdrop ?


    Буду благодарен за вашу помощь! Мммм... может быть не надо было это
    всё сюда писать? Здесь вообще можно такие вопросы задавать или мне
    лучше в ru_programming такое постить?

    Спасибо за внимание!

-- 
+ php-coder
+ php-coder[at]altlinux[dot]ru

>"Будущее проекта рабочей среды GNOME выглядит довольно светло"
А с настоящим-то как? Судя по прочитанному, настоящее выглядит
довольно темно :-))
		-- Ron (linux.org.ru)






Подробная информация о списке рассылки Devel