[Risolto] Linguaggio C e Stringhe
Inviato: mercoledì 24 settembre 2008, 11:48
Ciao a tutti! 
Sto scrivendo un programma in C e ho la necessità di eseguire uno usermod. Purtroppo l'esecuzione non va a buon fine a causa del parser sulla stringa passatagli come argomento.
Il comando che voglio eseguire (ed è corretto) è:
/usr/sbin/usermod -R "" nomeutente
La stringa viene costruita nel seguente modo:
L'errore riportato è il seguente:
Qualcuno mi sa dire come posso risolvere? Help me, please!
Sto scrivendo un programma in C e ho la necessità di eseguire uno usermod. Purtroppo l'esecuzione non va a buon fine a causa del parser sulla stringa passatagli come argomento.
Il comando che voglio eseguire (ed è corretto) è:
/usr/sbin/usermod -R "" nomeutente
La stringa viene costruita nel seguente modo:
Codice: Seleziona tutto
char **nargv;
char *option[]={"-R"};
//allocazione per nargv e suoi elementi
nargv[index++]="/usr/sbin/usermod";
len=strlen(option[0])+8;
[b](void)snprintf(nargv[index++],len,"%s \"\" ",option[0]);[/b]
nargv[index++]=username;
nargv[index++]=NULL;
switch(pid=fork()){
case -1:
//gestisci errore
case 0:
execvp(nargv[0],nargv);
break;
default:
//attendi figlio
//gestisci padre
}
Codice: Seleziona tutto
UX: /usr/sbin/usermod: ERROR: "" is not a valid role name. Choose another.