% $Id: SSTR.TEX 1.1 2000/01/24 10:18:52 ska Exp ska $
\section{\label{sssstr}\subsys{sstr}}

This subsystem implements secure string functions.

\subsection{Design}

The standard string and memory functions from \fnam{STRING.H} do
not necessarily support when \tok{NULL} is passed as the pointer.

The secure string functions will accept \tok{NULL} and performs
an useful action upon them, in most string functions a \tok{NULL} pointer is
considered a pointer to an empty string \tok{\quote{}}; in memory
functions it is considered that the length parameter is zero.

Besides the \tok{NULL} pointer memory functions also accepts that the
length parameter is zero.

When the macro \tok{SUPPL\_STR\_REMAP} is defined prior including the
header file \fnam{SSTR.H}, macros are included that map
all standard function names into secure function names.

\subsection{Implementation}

The functions are automatically generated from the file \fnam{STR_FCT.DAT}.
This file gives further details about how to add new functions.

The names of the functions are derived from the standard names, but the
first letter is capitalized, that means that string function begin with
\fct{Str} and memory function with \fct{Mem}.

The prototypes are equal to the standard function
and, therefore, are not repeated here.

The following functions are currently supported:
\input{sstr.fct}
\fct{Strcmpi()}, \fct{Strncmpi()} and \fct{Memcmpi()}.
