-due versioni \index{funzioni!rientranti} rientranti (con la solita estensione
-\code{\_r}), che prevedono un secondo argomento \code{struct tm *result},
-fornito dal chiamante, che deve preallocare la struttura su cui sarà
-restituita la conversione.
-
-Come mostrato in fig.~\ref{fig:sys_tm_struct} il \textit{broken-down time}
-permette di tenere conto anche della differenza fra tempo universale e ora
-locale, compresa l'eventuale ora legale. Questo viene fatto attraverso le tre
-\index{variabili!globali} variabili globali mostrate in
-fig.~\ref{fig:sys_tzname}, cui si accede quando si include
-\headfile{time.h}. Queste variabili vengono impostate quando si chiama una
-delle precedenti funzioni di conversione, oppure invocando direttamente la
+due versioni rientranti (con la solita estensione \code{\_r}), che prevedono
+un secondo argomento \code{struct tm *result}, fornito dal chiamante, che deve
+preallocare la struttura su cui sarà restituita la conversione. La versione
+rientrante di \func{localtime} però non effettua la chiamata preventiva a
+\func{tzset} che deve essere eseguita a cura dell'utente.
+
+La funzione \func{mktime} esegue invece la conversione di un
+\textit{broken-down time} a partire da una struttura \struct{tm} restituendo
+direttamente un valore di tipo \type{time\_t} con il \textit{calendar
+ time}. La funzione ignora i campi \var{tm\_wday} e \var{tm\_yday} e per gli
+altri campi normalizza eventuali valori fuori degli intervalli specificati in
+precedenza: se cioè si indica un 12 per \var{tm\_mon} si prenderà il gennaio
+dell'anno successivo.
+
+Inoltre la funzione tiene conto del valore di \var{tm\_isdst} per effettuare
+le correzioni relative al fuso orario: un valore positivo indica che deve
+essere tenuta in conto l'ora legale, un valore nullo che non deve essere
+applicata nessuna correzione, un valore negativo che si deve far ricorso alle
+informazioni relative al proprio fuso orario per determinare lo stato dell'ora
+legale.
+
+La funzione infine modifica i valori della struttura \struct{tm} in forma di
+\textit{value result argument}, normalizzando i valori dei vari campi,
+impostando i valori risultanti per \var{tm\_wday} e \var{tm\_yday} e
+assegnando a \var{tm\_isdst} il valore (positivo o nullo) corrispondente allo
+stato dell'ora legale. La funzione provvede anche ad impostare il valore della
+variabile globale \var{tzname}.
+
+\itindend{calendar~time}
+
+Come accennato l'uso del \textit{broken-down time} permette di tenere conto
+anche della differenza fra tempo universale e ora locale, compresa l'eventuale
+ora legale. Questo viene fatto dalle funzioni di conversione grazie alle
+informazioni riguardo la propria \textit{timezone} mantenute nelle tre
+variabili globali mostrate in fig.~\ref{fig:sys_tzname}, cui si può accedere
+direttamente includendo \headfile{time.h}. Come illustrato queste variabili
+vengono impostate internamente da alcune delle precedenti funzioni di
+conversione, ma lo si può fare esplicitamente chiamando direttamente la