GCC генерирует предупреждение, описанное в subj для строки с execv. Хочется правильно его избежать (т.е. не отключая предупреждения). Если argsarray переопределить как char *, и убрать преобразование типа в execv, тогда ругается на строку с циклом for, т.к. program является const char *. Есть какой-нибудь красивый способ избежать предупреждений в таком коде:
void MYsystem(const char *program, ...) {
pid_t childpid;
int tmp = 0;
va_list args;
const char *argsarray[MAXARGS];
childpid = fork();
if (childpid == 0) {
va_start(args, program);
for (argsarray[0] = program; (argsarray[tmp] = va_arg(args, char *)) != NULL; tmp++);
execv(program, (char * const *)argsarray);
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от Legioner
Ответ на:
комментарий
от execve
Ответ на:
комментарий
от saper
Ответ на:
комментарий
от execve
Ответ на:
комментарий
от saper
Ответ на:
комментарий
от execve
Ответ на:
комментарий
от execve
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.