[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