\doxysection{cmem.\+h}
\label{cmem_8h_source}\index{include/cmem.h@{include/cmem.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ YACASL2\_CMEM\_H\_INCLUDED}}
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ YACASL2\_CMEM\_H\_INCLUDED}}
\DoxyCodeLine{00003\ }
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <string.h>}}
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <assert.h>}}
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ <stdbool.h>}}
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#include\ <limits.h>}}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00014\ \textcolor{preprocessor}{\#ifndef\ ARRAYSIZE}}
\DoxyCodeLine{00015\ \textcolor{preprocessor}{\#define\ ARRAYSIZE(array)\ (sizeof(array)/sizeof(array[0]))}}
\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00017\ }
\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#ifndef\ FREE}}
\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#define\ FREE(ptr)\ \{free(ptr);\ ptr\ =\ NULL;\}}}
\DoxyCodeLine{00023\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00034\ \textcolor{keywordtype}{long}\ str2l\_range(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *str,\ \textcolor{keywordtype}{long}\ min,\ \textcolor{keywordtype}{long}\ max,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *name);}
\DoxyCodeLine{00035\ }
\DoxyCodeLine{00044\ \textcolor{keywordtype}{void}\ *malloc\_chk(\textcolor{keywordtype}{size\_t}\ size,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *tag);}
\DoxyCodeLine{00045\ }
\DoxyCodeLine{00055\ \textcolor{keywordtype}{void}\ *calloc\_chk(\textcolor{keywordtype}{size\_t}\ nmemb,\ \textcolor{keywordtype}{size\_t}\ size,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *tag);}
\DoxyCodeLine{00056\ }
\DoxyCodeLine{00065\ \textcolor{keywordtype}{char}\ *strdup\_chk(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *tag);}
\DoxyCodeLine{00066\ }
\DoxyCodeLine{00076\ \textcolor{keywordtype}{char}\ *strndup\_chk(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s,\ \textcolor{keywordtype}{size\_t}\ len,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *tag);}
\DoxyCodeLine{00077\ }
\DoxyCodeLine{00083\ \textcolor{keywordtype}{void}\ strip\_end(\textcolor{keywordtype}{char}\ *s);}
\DoxyCodeLine{00084\ }
\DoxyCodeLine{00090\ \textcolor{keywordtype}{void}\ strip\_casl2\_comment(\textcolor{keywordtype}{char}\ *s);}
\DoxyCodeLine{00091\ }
\DoxyCodeLine{00099\ \textcolor{keywordtype}{char}\ *strrev(\textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *s);}
\DoxyCodeLine{00100\ }
\DoxyCodeLine{00101\ \textcolor{preprocessor}{\#endif}}
\end{DoxyCode}