Денис пишет:
Что не сказано в POSIX - есть расширение и не обязано работать везде.

мне именно GNU-расширение интересно
Но говорите

У меня вообще такая ситуация: есть список опций в базе данных и есть
значения. Мне их надо передать во внешнюю программу. Вот я и придумал
просто вызывать эту программу с опциями, на ходу собранными из записей в
БД. Опций немного, строка не переполнится.

Тогда вам стоит использовать str*/mem* фунции,
которые гарантировано работают с пробелами ))

for (i = 1; i < argc; i++) {
    if (!memcmp("--vid=", argv[i], sizeof("--vid=")-1)) {
        char *val = argv[i];
        while (*val++ != '=');
         ...
    } else if (!strcmp("--vid", argv[i])) {
        i++;
        val = argv[i];
         ...

--
С уважением, Александр Гавенко.


--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Ответить