From: Simone Piccardi Date: Fri, 27 Dec 2002 18:54:04 +0000 (+0000) Subject: Correzioni X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=commitdiff_plain;h=6f65bfa478584cd33a85d5dfce3a750b244fb152 Correzioni --- diff --git a/filedir.tex b/filedir.tex index 5b3b0b5..2ad3679 100644 --- a/filedir.tex +++ b/filedir.tex @@ -682,16 +682,16 @@ una serie di funzioni per la loro gestione. La prima di queste La funzione apre un \textit{directory stream} per la directory \param{dirname}, ritornando il puntatore alla relativa struttura \type{DIR} (questo è un tipo opaco\index{tipo!opaco} usato dalle librerie per gestire i -\textit{directory stream}) da usare per le successive operazioni, infine -posiziona lo stream sulla prima voce contenuta nella directory. +\textit{directory stream}) da usare per le successive operazioni, posizionando +lo stream sulla prima voce contenuta nella directory. -Dato che le directory sono comunque dei file, in alcuni casi può essere utile -conoscere il \textit{file descriptor} (tratteremo dei \textit{file descriptor} +Dato che le directory sono comunque dei file, in alcuni casi può servire +conoscere il \textit{file descriptor} (tratteremo i \textit{file descriptor} in \capref{cha:file_unix_interface}) sottostante un \textit{directory stream}, ad esempio per utilizzarlo con la funzione \func{fchdir} per cambiare la directory di lavoro (vedi \secref{sec:file_work_dir}) a quella relativa allo -stream che si è aperto. A questo scopo si può usare la funzione \funcd{dirfd}, -il cui prototipo è: +stream stesso. A questo scopo si può usare la funzione \funcd{dirfd}, il cui +prototipo è: \begin{functions} \headdecl{sys/types.h} \headdecl{dirent.h} @@ -719,22 +719,21 @@ La lettura di una voce nella directory viene effettuata attraverso la funzione Legge una voce dal \textit{directory stream}. \bodydesc{La funzione restituisce il puntatore alla struttura contentente i - dati in caso di successo e \val{NULL} altrimenti, nel qual caso - \var{errno} assumerà il valore \errval{EBADF}.} + dati in caso di successo e \val{NULL} altrimenti, in caso di descrittore + non valido \var{errno} assumerà il valore \errval{EBADF}, il valore + \val{NULL} viene restituito anche quando si raggiunge la fine dello + stream.} \end{functions} -La funzione legge una voce dalla directory \textit{directory - entry},\footnote{anche questa viene chiamata anche se non ha nulla a che - fare con le omonime \textit{directory entry} di cui parlavamo in - \secref{sec:file_vfs}).} in un'opportuna struttura \struct{dirent}, la cui -definizione è riportata in \figref{fig:file_dirent_struct}, che contiene i -dati relativi al file cui la voce fa riferimento. Si tenga presente che la -struttura viene sovrascritta tutte le volte che si ripete una lettura sullo -stesso \textit{directory stream}. +La funzione legge la voce corrente nella directory, posizionandosi sulla voce +successiva. I dati vengono memorizzati in una struttura \struct{dirent} (la +cui definizione è riportata in \figref{fig:file_dirent_struct}). La funzione +restituisce il puntatore alla struttura; si tenga presente però che questa +viene sovrascritta tutte le volte che si ripete una lettura sullo stesso +stream. \begin{figure}[!htb] - \footnotesize - \centering + \footnotesize \centering \begin{minipage}[c]{15cm} \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{} struct dirent { @@ -754,6 +753,9 @@ struct dirent { + + + Una volta completate le operazioni si può chiudere il \textit{directory stream} con la funzione \funcd{closedir}, il cui prototipo è: \begin{functions}