\hypertarget{evil__stdio_8h}{}\section{evil\+\_\+stdio.\+h File Reference}
\label{evil__stdio_8h}\index{evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}}


The file that provides functions ported from Unix in stdio.\+h.  


\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bfseries E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP}(p,  s1,  s2)
\item 
\hypertarget{evil__stdio_8h_a24c3a1e0d7951c0f5f8d0661f9dfc8fc}{}\label{evil__stdio_8h_a24c3a1e0d7951c0f5f8d0661f9dfc8fc} 
\#define {\bfseries E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+W\+I\+N32\+\_\+\+T\+O\+\_\+\+U\+N\+IX}(p)~E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP(p, \textquotesingle{}\textbackslash{}\textbackslash{}\textquotesingle{}, \textquotesingle{}/\textquotesingle{})
\item 
\hypertarget{evil__stdio_8h_a778fcec15b35da0088ab7395cc3451c1}{}\label{evil__stdio_8h_a778fcec15b35da0088ab7395cc3451c1} 
\#define {\bfseries E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+U\+N\+I\+X\+\_\+\+T\+O\+\_\+\+W\+I\+N32}(p)~E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP(p, \textquotesingle{}/\textquotesingle{}, \textquotesingle{}\textbackslash{}\textbackslash{}\textquotesingle{})
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{evil__stdio_8h_a773acdc811c11324d600405f3feafd67}{evil\+\_\+rename} (const char $\ast$src, const char $\ast$dst)
\begin{DoxyCompactList}\small\item\em Emulate the rename() function on Windows. \end{DoxyCompactList}\item 
int \hyperlink{evil__stdio_8h_af8777ebc13926ad6ae3be3531279d04e}{evil\+\_\+mkdir} (const char $\ast$dirname, mode\+\_\+t mode)
\begin{DoxyCompactList}\small\item\em Wrap the \+\_\+mkdir() function on Windows. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The file that provides functions ported from Unix in stdio.\+h. 



\subsection{Macro Definition Documentation}
\hypertarget{evil__stdio_8h_a797b1063060cce8eece81d5b4b305e4d}{}\label{evil__stdio_8h_a797b1063060cce8eece81d5b4b305e4d} 
\index{evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}!E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP@{E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP}}
\index{E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP@{E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP}!evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}}
\subsubsection{\texorpdfstring{E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP}{EVIL\_PATH\_SEP\_SWAP}}
{\footnotesize\ttfamily \#define E\+V\+I\+L\+\_\+\+P\+A\+T\+H\+\_\+\+S\+E\+P\+\_\+\+S\+W\+AP(\begin{DoxyParamCaption}\item[{}]{p,  }\item[{}]{s1,  }\item[{}]{s2 }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}
\textcolor{keywordflow}{do} \{ \(\backslash\)
     char *\_evil\_path\_tmp; \(\backslash\)
     \_evil\_path\_tmp = p; \(\backslash\)
     while (*\_evil\_path\_tmp) \(\backslash\)
       \{ \(\backslash\)
          if (*\_evil\_path\_tmp == s1) \(\backslash\)
            *\_evil\_path\_tmp = s2; \(\backslash\)
          \_evil\_path\_tmp++; \(\backslash\)
       \} \(\backslash\)
   \} \textcolor{keywordflow}{while} (0)
\end{DoxyCode}


\subsection{Function Documentation}
\hypertarget{evil__stdio_8h_a773acdc811c11324d600405f3feafd67}{}\label{evil__stdio_8h_a773acdc811c11324d600405f3feafd67} 
\index{evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}!evil\+\_\+rename@{evil\+\_\+rename}}
\index{evil\+\_\+rename@{evil\+\_\+rename}!evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}}
\subsubsection{\texorpdfstring{evil\+\_\+rename()}{evil\_rename()}}
{\footnotesize\ttfamily int evil\+\_\+rename (\begin{DoxyParamCaption}\item[{const char $\ast$}]{src,  }\item[{const char $\ast$}]{dst }\end{DoxyParamCaption})}



Emulate the rename() function on Windows. 


\begin{DoxyParams}{Parameters}
{\em src} & The old pathname. \\
\hline
{\em dst} & The new pathname. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, -\/1 otherwise.
\end{DoxyReturn}
This function emulates the P\+O\+S\+IX rename() function on Windows. The difference with the P\+O\+S\+IX function is that the rename() function on windows fails if the destination exists.

\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\hypertarget{evil__stdio_8h_af8777ebc13926ad6ae3be3531279d04e}{}\label{evil__stdio_8h_af8777ebc13926ad6ae3be3531279d04e} 
\index{evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}!evil\+\_\+mkdir@{evil\+\_\+mkdir}}
\index{evil\+\_\+mkdir@{evil\+\_\+mkdir}!evil\+\_\+stdio.\+h@{evil\+\_\+stdio.\+h}}
\subsubsection{\texorpdfstring{evil\+\_\+mkdir()}{evil\_mkdir()}}
{\footnotesize\ttfamily int evil\+\_\+mkdir (\begin{DoxyParamCaption}\item[{const char $\ast$}]{dirname,  }\item[{mode\+\_\+t}]{mode }\end{DoxyParamCaption})}



Wrap the \+\_\+mkdir() function on Windows. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em dirname} & The new dir name. \\
\hline
\mbox{\tt in}  & {\em mode} & Unused. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, -\/1 otherwise.
\end{DoxyReturn}
This function wraps the \+\_\+mkdir() function.

\begin{DoxySince}{Since}
1.\+15 
\end{DoxySince}
