[so] tema1 - erori ciudate
Alexandru Goia
webaigoia at gmail.com
Mon Jan 26 05:19:58 EET 2009
Buna ziua,
Sunt student in anul 1 (grupa 314CA) si m-am apucat sa studiez cursul de SO,
incluzand laboratoarele si temele. M-am apucat de programat tema 1
(mini-shell-ul),
dar la testele 03 si 09 intampin probleme (tests failed).
1) Am urmatoarea secventa de cod :
word_t *q = malloc(sizeof(word_t));
q = scmd->out;
if (q != NULL)
{
fd_out = open(q->string, O_CREAT | O_WRONLY, 0600);
close(STDOUT_FILENO);
dup(fd_out);
}
unde scmd este astfel : simple_command_t *scmd; .
Secventa de cod este dintr-o functie care proceseaza o comanda simpla
(simple_command_t),
si face ca output-ul sa se duca in fisierul specificat in comanda data
shell-ului.
Acum, daca schimb O_CREAT | O_WRONLY cu O_CREAT | O_WRONLY | O_TRUNC,
testul 3 va trece, in schimb nu va mai trece testul 4 si testul 5.
Aveti vreo idee unde ar putea fi eroarea ?
2) La testul 9 iarasi am eroare, desi am cod de genul :
if (scmd->params == NULL)
{
int tmp = execlp((scmd->verb)->string,
(scmd->verb)->string, (char *) NULL);
if (tmp == -1)
printf("Execution failed for '%s'\n",
(scmd->verb)->string);
exit(tmp); }
deci am mesajul de eroare care se cerea la testul 9.
Ma puteti ajuta, va rog si cu aceasta problema (unde ar putea fi bug-ul) ?
Va multumesc mult,
Alexandru.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20090126/029fe6b7/attachment.html
More information about the so
mailing list