\hypertarget{lstrlib_8c}{
\section{lstrlib.c File Reference}
\label{lstrlib_8c}\index{lstrlib.c@{lstrlib.c}}
}
{\tt \#include $<$ctype.h$>$}\par
{\tt \#include $<$stddef.h$>$}\par
{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include \char`\"{}lua.h\char`\"{}}\par
{\tt \#include \char`\"{}lauxlib.h\char`\"{}}\par
{\tt \#include \char`\"{}lualib.h\char`\"{}}\par
\subsection*{Classes}
\begin{CompactItemize}
\item 
struct \hyperlink{structMatchState}{MatchState}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{lstrlib_8c_7d519f7b443a6bce51922ce6bb0621a8}{lstrlib\_\-c}
\item 
\#define \hyperlink{lstrlib_8c_884b19ad6094d6238c4072a8064aeb12}{LUA\_\-LIB}
\item 
\#define \hyperlink{lstrlib_8c_6688a561ddcc83633d4fabc5d3409539}{uchar}(c)~((unsigned char)(c))
\item 
\#define \hyperlink{lstrlib_8c_414cda9a27ce2f01d4a6bb9a20787250}{CAP\_\-UNFINISHED}~(-1)
\item 
\#define \hyperlink{lstrlib_8c_921f0f27e58ca4be1e9b0cf12447e118}{CAP\_\-POSITION}~(-2)
\item 
\#define \hyperlink{lstrlib_8c_62bae5b2b26cf1e4fdf37e42d3c53df9}{L\_\-ESC}~'\%'
\item 
\#define \hyperlink{lstrlib_8c_2e1ba74d2e5a4b6bdb7e2b1d00f4f4c0}{SPECIALS}~\char`\"{}$^\wedge$\$$\ast$+?.(\mbox{[}\%-\char`\"{}
\item 
\#define \hyperlink{lstrlib_8c_2ab154b213c5fed0a1ba90ac8c1232e8}{MAX\_\-ITEM}~512
\item 
\#define \hyperlink{lstrlib_8c_6ccad09b4a2a06ae178418fdccf5940d}{FLAGS}~\char`\"{}-+ \#0\char`\"{}
\item 
\#define \hyperlink{lstrlib_8c_3703ed5438432f703bd9a5d7fa5f31e5}{MAX\_\-FORMAT}~(sizeof(FLAGS) + sizeof(LUA\_\-INTFRMLEN) + 10)
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
static int \hyperlink{lstrlib_8c_357ce37478dde24252724e3c4c66ce11}{str\_\-len} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static ptrdiff\_\-t \hyperlink{lstrlib_8c_cf88cd5ed094721637e3b1988d29e8f9}{posrelat} (ptrdiff\_\-t pos, size\_\-t len)
\item 
static int \hyperlink{lstrlib_8c_039b391d5f43533a0ce750c5e40d7752}{str\_\-sub} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_4b2ffac60e817b9bfc54b32f8da3a6b4}{str\_\-reverse} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_b2235f81205d0482d03c8ae456a98992}{str\_\-lower} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_38ed99b74af58070449ca344a7351f6a}{str\_\-upper} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_caee4c84f29e2ec7366728ca04d3569c}{str\_\-rep} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_e561770420cfd1894054415df9d4c423}{str\_\-byte} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_3f7db8b2258dca5459ad52d2cbf9f28c}{str\_\-char} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_e67cb3a8aef2fe1be04d689cddf5d587}{writer} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L}, const void $\ast$b, size\_\-t size, void $\ast$B)
\item 
static int \hyperlink{lstrlib_8c_bc94e3a13f1b6ddb2c9b20c9fd89e87f}{str\_\-dump} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_a8c1a193fa762ecfe81888d86981a586}{check\_\-capture} (\hyperlink{structMatchState}{MatchState} $\ast$ms, int l)
\item 
static int \hyperlink{lstrlib_8c_5e8b364a8f8d4300aa5007c0feb42abf}{capture\_\-to\_\-close} (\hyperlink{structMatchState}{MatchState} $\ast$ms)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_72b26c2a339f5e84ef087e961b547f95}{classend} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$p)
\item 
static int \hyperlink{lstrlib_8c_46c1d8d4310cb940caa503ef10a0decf}{match\_\-class} (int c, int cl)
\item 
static int \hyperlink{lstrlib_8c_14c5b9fff2918ecc568b9bcf1bfdb241}{matchbracketclass} (int c, const char $\ast$p, const char $\ast$ec)
\item 
static int \hyperlink{lstrlib_8c_038cdbb899b6459dd5a918f1d4d41545}{singlematch} (int c, const char $\ast$p, const char $\ast$ep)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_52a45835b75e5d31ec66421456bbb728}{match} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_acb8f9104a816720da707ecf5219a96e}{matchbalance} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_d0b55e65b16045801315919fb67a4070}{max\_\-expand} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p, const char $\ast$ep)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_3b42ede2ccaf027b891a6a4f1cdf3902}{min\_\-expand} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p, const char $\ast$ep)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_31cf026bdaa00bf9c72a1e4f72319147}{start\_\-capture} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p, int what)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_b0ecc0f25602beb821f6a5e62517d18e}{end\_\-capture} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$p)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_f71e61c103df8b6163925c900470ee37}{match\_\-capture} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, int l)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_894e95aeb2179634e0b62277f23c303e}{lmemfind} (const char $\ast$s1, size\_\-t l1, const char $\ast$s2, size\_\-t l2)
\item 
static void \hyperlink{lstrlib_8c_24a14b4e6e90bac4610dd334bb0b51b6}{push\_\-onecapture} (\hyperlink{structMatchState}{MatchState} $\ast$ms, int i, const char $\ast$s, const char $\ast$e)
\item 
static int \hyperlink{lstrlib_8c_d14703c4bc40d7c1951dedb7bc7554f7}{push\_\-captures} (\hyperlink{structMatchState}{MatchState} $\ast$ms, const char $\ast$s, const char $\ast$e)
\item 
static int \hyperlink{lstrlib_8c_692514aa32ae2668683a4db15259d26b}{str\_\-find\_\-aux} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L}, int find)
\item 
static int \hyperlink{lstrlib_8c_362a4bc9ba81ce87253cc3d74f015808}{str\_\-find} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_4b605e43b8f5738db9eae902bbc00f00}{str\_\-match} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_b7cb0ba6191e1aa9455f6522d3483a02}{gmatch\_\-aux} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_b55a72bb412d6186c82fd75de44cd031}{gmatch} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static int \hyperlink{lstrlib_8c_adb6d3104fa6dd64d1f9180f696aa63d}{gfind\_\-nodef} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static void \hyperlink{lstrlib_8c_d5f7e3fbcadc8825f7f650ecf458fc72}{add\_\-s} (\hyperlink{structMatchState}{MatchState} $\ast$ms, \hyperlink{structluaL__Buffer}{luaL\_\-Buffer} $\ast$b, const char $\ast$s, const char $\ast$e)
\item 
static void \hyperlink{lstrlib_8c_da2e60103681ee911fb7c2e17bcad481}{add\_\-value} (\hyperlink{structMatchState}{MatchState} $\ast$ms, \hyperlink{structluaL__Buffer}{luaL\_\-Buffer} $\ast$b, const char $\ast$s, const char $\ast$e)
\item 
static int \hyperlink{lstrlib_8c_42337c674d265175bcc2b2f3809c7339}{str\_\-gsub} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static void \hyperlink{lstrlib_8c_95c31911812b88f7c4ab6ceb63a1e1e8}{addquoted} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L}, \hyperlink{structluaL__Buffer}{luaL\_\-Buffer} $\ast$b, int arg)
\item 
static const char $\ast$ \hyperlink{lstrlib_8c_a02d130952004540df86ae92853cfc22}{scanformat} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L}, const char $\ast$strfrmt, char $\ast$form)
\item 
static void \hyperlink{lstrlib_8c_d2ab599c767bf367d84f612e432b6e90}{addintlen} (char $\ast$form)
\item 
static int \hyperlink{lstrlib_8c_e26a9374857058119e59d0328208c2f2}{str\_\-format} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
static void \hyperlink{lstrlib_8c_16d034da6b46e6beae228472f26ec07b}{createmetatable} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\item 
LUALIB\_\-API int \hyperlink{lstrlib_8c_0804dd37eff3d6f62b2a9ca3755c2158}{luaopen\_\-string} (\hyperlink{structlua__State}{lua\_\-State} $\ast$\hyperlink{main_8c_62f94dfc0036bec0c14106c2f15caf3e}{L})
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
static const \hyperlink{structluaL__Reg}{luaL\_\-Reg} \hyperlink{lstrlib_8c_ea7d99046a1869e17a061706511f770c}{strlib} \mbox{[}$\,$\mbox{]}
\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{lstrlib_8c_921f0f27e58ca4be1e9b0cf12447e118}{
\index{lstrlib.c@{lstrlib.c}!CAP\_\-POSITION@{CAP\_\-POSITION}}
\index{CAP\_\-POSITION@{CAP\_\-POSITION}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define CAP\_\-POSITION~(-2)}}
\label{lstrlib_8c_921f0f27e58ca4be1e9b0cf12447e118}


\hypertarget{lstrlib_8c_414cda9a27ce2f01d4a6bb9a20787250}{
\index{lstrlib.c@{lstrlib.c}!CAP\_\-UNFINISHED@{CAP\_\-UNFINISHED}}
\index{CAP\_\-UNFINISHED@{CAP\_\-UNFINISHED}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define CAP\_\-UNFINISHED~(-1)}}
\label{lstrlib_8c_414cda9a27ce2f01d4a6bb9a20787250}


\hypertarget{lstrlib_8c_6ccad09b4a2a06ae178418fdccf5940d}{
\index{lstrlib.c@{lstrlib.c}!FLAGS@{FLAGS}}
\index{FLAGS@{FLAGS}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define FLAGS~\char`\"{}-+ \#0\char`\"{}}}
\label{lstrlib_8c_6ccad09b4a2a06ae178418fdccf5940d}


\hypertarget{lstrlib_8c_62bae5b2b26cf1e4fdf37e42d3c53df9}{
\index{lstrlib.c@{lstrlib.c}!L\_\-ESC@{L\_\-ESC}}
\index{L\_\-ESC@{L\_\-ESC}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define L\_\-ESC~'\%'}}
\label{lstrlib_8c_62bae5b2b26cf1e4fdf37e42d3c53df9}


\hypertarget{lstrlib_8c_7d519f7b443a6bce51922ce6bb0621a8}{
\index{lstrlib.c@{lstrlib.c}!lstrlib\_\-c@{lstrlib\_\-c}}
\index{lstrlib\_\-c@{lstrlib\_\-c}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define lstrlib\_\-c}}
\label{lstrlib_8c_7d519f7b443a6bce51922ce6bb0621a8}


\hypertarget{lstrlib_8c_884b19ad6094d6238c4072a8064aeb12}{
\index{lstrlib.c@{lstrlib.c}!LUA\_\-LIB@{LUA\_\-LIB}}
\index{LUA\_\-LIB@{LUA\_\-LIB}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define LUA\_\-LIB}}
\label{lstrlib_8c_884b19ad6094d6238c4072a8064aeb12}


\hypertarget{lstrlib_8c_3703ed5438432f703bd9a5d7fa5f31e5}{
\index{lstrlib.c@{lstrlib.c}!MAX\_\-FORMAT@{MAX\_\-FORMAT}}
\index{MAX\_\-FORMAT@{MAX\_\-FORMAT}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define MAX\_\-FORMAT~(sizeof(FLAGS) + sizeof(LUA\_\-INTFRMLEN) + 10)}}
\label{lstrlib_8c_3703ed5438432f703bd9a5d7fa5f31e5}


\hypertarget{lstrlib_8c_2ab154b213c5fed0a1ba90ac8c1232e8}{
\index{lstrlib.c@{lstrlib.c}!MAX\_\-ITEM@{MAX\_\-ITEM}}
\index{MAX\_\-ITEM@{MAX\_\-ITEM}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define MAX\_\-ITEM~512}}
\label{lstrlib_8c_2ab154b213c5fed0a1ba90ac8c1232e8}


\hypertarget{lstrlib_8c_2e1ba74d2e5a4b6bdb7e2b1d00f4f4c0}{
\index{lstrlib.c@{lstrlib.c}!SPECIALS@{SPECIALS}}
\index{SPECIALS@{SPECIALS}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define SPECIALS~\char`\"{}$^\wedge$\$$\ast$+?.(\mbox{[}\%-\char`\"{}}}
\label{lstrlib_8c_2e1ba74d2e5a4b6bdb7e2b1d00f4f4c0}


\hypertarget{lstrlib_8c_6688a561ddcc83633d4fabc5d3409539}{
\index{lstrlib.c@{lstrlib.c}!uchar@{uchar}}
\index{uchar@{uchar}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define uchar(c)~((unsigned char)(c))}}
\label{lstrlib_8c_6688a561ddcc83633d4fabc5d3409539}




\subsection{Function Documentation}
\hypertarget{lstrlib_8c_d5f7e3fbcadc8825f7f650ecf458fc72}{
\index{lstrlib.c@{lstrlib.c}!add\_\-s@{add\_\-s}}
\index{add\_\-s@{add\_\-s}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void add\_\-s ({\bf MatchState} $\ast$ {\em ms}, \/  {\bf luaL\_\-Buffer} $\ast$ {\em b}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_d5f7e3fbcadc8825f7f650ecf458fc72}


\hypertarget{lstrlib_8c_da2e60103681ee911fb7c2e17bcad481}{
\index{lstrlib.c@{lstrlib.c}!add\_\-value@{add\_\-value}}
\index{add\_\-value@{add\_\-value}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void add\_\-value ({\bf MatchState} $\ast$ {\em ms}, \/  {\bf luaL\_\-Buffer} $\ast$ {\em b}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_da2e60103681ee911fb7c2e17bcad481}


\hypertarget{lstrlib_8c_d2ab599c767bf367d84f612e432b6e90}{
\index{lstrlib.c@{lstrlib.c}!addintlen@{addintlen}}
\index{addintlen@{addintlen}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void addintlen (char $\ast$ {\em form})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_d2ab599c767bf367d84f612e432b6e90}


\hypertarget{lstrlib_8c_95c31911812b88f7c4ab6ceb63a1e1e8}{
\index{lstrlib.c@{lstrlib.c}!addquoted@{addquoted}}
\index{addquoted@{addquoted}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void addquoted ({\bf lua\_\-State} $\ast$ {\em L}, \/  {\bf luaL\_\-Buffer} $\ast$ {\em b}, \/  int {\em arg})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_95c31911812b88f7c4ab6ceb63a1e1e8}


\hypertarget{lstrlib_8c_5e8b364a8f8d4300aa5007c0feb42abf}{
\index{lstrlib.c@{lstrlib.c}!capture\_\-to\_\-close@{capture\_\-to\_\-close}}
\index{capture\_\-to\_\-close@{capture\_\-to\_\-close}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int capture\_\-to\_\-close ({\bf MatchState} $\ast$ {\em ms})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_5e8b364a8f8d4300aa5007c0feb42abf}


\hypertarget{lstrlib_8c_a8c1a193fa762ecfe81888d86981a586}{
\index{lstrlib.c@{lstrlib.c}!check\_\-capture@{check\_\-capture}}
\index{check\_\-capture@{check\_\-capture}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int check\_\-capture ({\bf MatchState} $\ast$ {\em ms}, \/  int {\em l})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_a8c1a193fa762ecfe81888d86981a586}


\hypertarget{lstrlib_8c_72b26c2a339f5e84ef087e961b547f95}{
\index{lstrlib.c@{lstrlib.c}!classend@{classend}}
\index{classend@{classend}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ classend ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em p})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_72b26c2a339f5e84ef087e961b547f95}


\hypertarget{lstrlib_8c_16d034da6b46e6beae228472f26ec07b}{
\index{lstrlib.c@{lstrlib.c}!createmetatable@{createmetatable}}
\index{createmetatable@{createmetatable}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void createmetatable ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_16d034da6b46e6beae228472f26ec07b}


\hypertarget{lstrlib_8c_b0ecc0f25602beb821f6a5e62517d18e}{
\index{lstrlib.c@{lstrlib.c}!end\_\-capture@{end\_\-capture}}
\index{end\_\-capture@{end\_\-capture}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ end\_\-capture ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_b0ecc0f25602beb821f6a5e62517d18e}


\hypertarget{lstrlib_8c_adb6d3104fa6dd64d1f9180f696aa63d}{
\index{lstrlib.c@{lstrlib.c}!gfind\_\-nodef@{gfind\_\-nodef}}
\index{gfind\_\-nodef@{gfind\_\-nodef}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int gfind\_\-nodef ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_adb6d3104fa6dd64d1f9180f696aa63d}


\hypertarget{lstrlib_8c_b55a72bb412d6186c82fd75de44cd031}{
\index{lstrlib.c@{lstrlib.c}!gmatch@{gmatch}}
\index{gmatch@{gmatch}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int gmatch ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_b55a72bb412d6186c82fd75de44cd031}


\hypertarget{lstrlib_8c_b7cb0ba6191e1aa9455f6522d3483a02}{
\index{lstrlib.c@{lstrlib.c}!gmatch\_\-aux@{gmatch\_\-aux}}
\index{gmatch\_\-aux@{gmatch\_\-aux}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int gmatch\_\-aux ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_b7cb0ba6191e1aa9455f6522d3483a02}


\hypertarget{lstrlib_8c_894e95aeb2179634e0b62277f23c303e}{
\index{lstrlib.c@{lstrlib.c}!lmemfind@{lmemfind}}
\index{lmemfind@{lmemfind}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ lmemfind (const char $\ast$ {\em s1}, \/  size\_\-t {\em l1}, \/  const char $\ast$ {\em s2}, \/  size\_\-t {\em l2})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_894e95aeb2179634e0b62277f23c303e}


\hypertarget{lstrlib_8c_0804dd37eff3d6f62b2a9ca3755c2158}{
\index{lstrlib.c@{lstrlib.c}!luaopen\_\-string@{luaopen\_\-string}}
\index{luaopen\_\-string@{luaopen\_\-string}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LUALIB\_\-API int luaopen\_\-string ({\bf lua\_\-State} $\ast$ {\em L})}}
\label{lstrlib_8c_0804dd37eff3d6f62b2a9ca3755c2158}


\hypertarget{lstrlib_8c_52a45835b75e5d31ec66421456bbb728}{
\index{lstrlib.c@{lstrlib.c}!match@{match}}
\index{match@{match}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char $\ast$ match ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_52a45835b75e5d31ec66421456bbb728}


\hypertarget{lstrlib_8c_f71e61c103df8b6163925c900470ee37}{
\index{lstrlib.c@{lstrlib.c}!match\_\-capture@{match\_\-capture}}
\index{match\_\-capture@{match\_\-capture}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ match\_\-capture ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  int {\em l})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_f71e61c103df8b6163925c900470ee37}


\hypertarget{lstrlib_8c_46c1d8d4310cb940caa503ef10a0decf}{
\index{lstrlib.c@{lstrlib.c}!match\_\-class@{match\_\-class}}
\index{match\_\-class@{match\_\-class}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int match\_\-class (int {\em c}, \/  int {\em cl})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_46c1d8d4310cb940caa503ef10a0decf}


\hypertarget{lstrlib_8c_acb8f9104a816720da707ecf5219a96e}{
\index{lstrlib.c@{lstrlib.c}!matchbalance@{matchbalance}}
\index{matchbalance@{matchbalance}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ matchbalance ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_acb8f9104a816720da707ecf5219a96e}


\hypertarget{lstrlib_8c_14c5b9fff2918ecc568b9bcf1bfdb241}{
\index{lstrlib.c@{lstrlib.c}!matchbracketclass@{matchbracketclass}}
\index{matchbracketclass@{matchbracketclass}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int matchbracketclass (int {\em c}, \/  const char $\ast$ {\em p}, \/  const char $\ast$ {\em ec})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_14c5b9fff2918ecc568b9bcf1bfdb241}


\hypertarget{lstrlib_8c_d0b55e65b16045801315919fb67a4070}{
\index{lstrlib.c@{lstrlib.c}!max\_\-expand@{max\_\-expand}}
\index{max\_\-expand@{max\_\-expand}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ max\_\-expand ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p}, \/  const char $\ast$ {\em ep})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_d0b55e65b16045801315919fb67a4070}


\hypertarget{lstrlib_8c_3b42ede2ccaf027b891a6a4f1cdf3902}{
\index{lstrlib.c@{lstrlib.c}!min\_\-expand@{min\_\-expand}}
\index{min\_\-expand@{min\_\-expand}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ min\_\-expand ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p}, \/  const char $\ast$ {\em ep})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_3b42ede2ccaf027b891a6a4f1cdf3902}


\hypertarget{lstrlib_8c_cf88cd5ed094721637e3b1988d29e8f9}{
\index{lstrlib.c@{lstrlib.c}!posrelat@{posrelat}}
\index{posrelat@{posrelat}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static ptrdiff\_\-t posrelat (ptrdiff\_\-t {\em pos}, \/  size\_\-t {\em len})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_cf88cd5ed094721637e3b1988d29e8f9}


\hypertarget{lstrlib_8c_d14703c4bc40d7c1951dedb7bc7554f7}{
\index{lstrlib.c@{lstrlib.c}!push\_\-captures@{push\_\-captures}}
\index{push\_\-captures@{push\_\-captures}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int push\_\-captures ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_d14703c4bc40d7c1951dedb7bc7554f7}


\hypertarget{lstrlib_8c_24a14b4e6e90bac4610dd334bb0b51b6}{
\index{lstrlib.c@{lstrlib.c}!push\_\-onecapture@{push\_\-onecapture}}
\index{push\_\-onecapture@{push\_\-onecapture}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static void push\_\-onecapture ({\bf MatchState} $\ast$ {\em ms}, \/  int {\em i}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em e})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_24a14b4e6e90bac4610dd334bb0b51b6}


\hypertarget{lstrlib_8c_a02d130952004540df86ae92853cfc22}{
\index{lstrlib.c@{lstrlib.c}!scanformat@{scanformat}}
\index{scanformat@{scanformat}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ scanformat ({\bf lua\_\-State} $\ast$ {\em L}, \/  const char $\ast$ {\em strfrmt}, \/  char $\ast$ {\em form})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_a02d130952004540df86ae92853cfc22}


\hypertarget{lstrlib_8c_038cdbb899b6459dd5a918f1d4d41545}{
\index{lstrlib.c@{lstrlib.c}!singlematch@{singlematch}}
\index{singlematch@{singlematch}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int singlematch (int {\em c}, \/  const char $\ast$ {\em p}, \/  const char $\ast$ {\em ep})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_038cdbb899b6459dd5a918f1d4d41545}


\hypertarget{lstrlib_8c_31cf026bdaa00bf9c72a1e4f72319147}{
\index{lstrlib.c@{lstrlib.c}!start\_\-capture@{start\_\-capture}}
\index{start\_\-capture@{start\_\-capture}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static const char$\ast$ start\_\-capture ({\bf MatchState} $\ast$ {\em ms}, \/  const char $\ast$ {\em s}, \/  const char $\ast$ {\em p}, \/  int {\em what})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_31cf026bdaa00bf9c72a1e4f72319147}


\hypertarget{lstrlib_8c_e561770420cfd1894054415df9d4c423}{
\index{lstrlib.c@{lstrlib.c}!str\_\-byte@{str\_\-byte}}
\index{str\_\-byte@{str\_\-byte}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-byte ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_e561770420cfd1894054415df9d4c423}


\hypertarget{lstrlib_8c_3f7db8b2258dca5459ad52d2cbf9f28c}{
\index{lstrlib.c@{lstrlib.c}!str\_\-char@{str\_\-char}}
\index{str\_\-char@{str\_\-char}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-char ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_3f7db8b2258dca5459ad52d2cbf9f28c}


\hypertarget{lstrlib_8c_bc94e3a13f1b6ddb2c9b20c9fd89e87f}{
\index{lstrlib.c@{lstrlib.c}!str\_\-dump@{str\_\-dump}}
\index{str\_\-dump@{str\_\-dump}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-dump ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_bc94e3a13f1b6ddb2c9b20c9fd89e87f}


\hypertarget{lstrlib_8c_362a4bc9ba81ce87253cc3d74f015808}{
\index{lstrlib.c@{lstrlib.c}!str\_\-find@{str\_\-find}}
\index{str\_\-find@{str\_\-find}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-find ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_362a4bc9ba81ce87253cc3d74f015808}


\hypertarget{lstrlib_8c_692514aa32ae2668683a4db15259d26b}{
\index{lstrlib.c@{lstrlib.c}!str\_\-find\_\-aux@{str\_\-find\_\-aux}}
\index{str\_\-find\_\-aux@{str\_\-find\_\-aux}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-find\_\-aux ({\bf lua\_\-State} $\ast$ {\em L}, \/  int {\em find})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_692514aa32ae2668683a4db15259d26b}


\hypertarget{lstrlib_8c_e26a9374857058119e59d0328208c2f2}{
\index{lstrlib.c@{lstrlib.c}!str\_\-format@{str\_\-format}}
\index{str\_\-format@{str\_\-format}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-format ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_e26a9374857058119e59d0328208c2f2}


\hypertarget{lstrlib_8c_42337c674d265175bcc2b2f3809c7339}{
\index{lstrlib.c@{lstrlib.c}!str\_\-gsub@{str\_\-gsub}}
\index{str\_\-gsub@{str\_\-gsub}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-gsub ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_42337c674d265175bcc2b2f3809c7339}


\hypertarget{lstrlib_8c_357ce37478dde24252724e3c4c66ce11}{
\index{lstrlib.c@{lstrlib.c}!str\_\-len@{str\_\-len}}
\index{str\_\-len@{str\_\-len}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-len ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_357ce37478dde24252724e3c4c66ce11}


\hypertarget{lstrlib_8c_b2235f81205d0482d03c8ae456a98992}{
\index{lstrlib.c@{lstrlib.c}!str\_\-lower@{str\_\-lower}}
\index{str\_\-lower@{str\_\-lower}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-lower ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_b2235f81205d0482d03c8ae456a98992}


\hypertarget{lstrlib_8c_4b605e43b8f5738db9eae902bbc00f00}{
\index{lstrlib.c@{lstrlib.c}!str\_\-match@{str\_\-match}}
\index{str\_\-match@{str\_\-match}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-match ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_4b605e43b8f5738db9eae902bbc00f00}


\hypertarget{lstrlib_8c_caee4c84f29e2ec7366728ca04d3569c}{
\index{lstrlib.c@{lstrlib.c}!str\_\-rep@{str\_\-rep}}
\index{str\_\-rep@{str\_\-rep}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-rep ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_caee4c84f29e2ec7366728ca04d3569c}


\hypertarget{lstrlib_8c_4b2ffac60e817b9bfc54b32f8da3a6b4}{
\index{lstrlib.c@{lstrlib.c}!str\_\-reverse@{str\_\-reverse}}
\index{str\_\-reverse@{str\_\-reverse}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-reverse ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_4b2ffac60e817b9bfc54b32f8da3a6b4}


\hypertarget{lstrlib_8c_039b391d5f43533a0ce750c5e40d7752}{
\index{lstrlib.c@{lstrlib.c}!str\_\-sub@{str\_\-sub}}
\index{str\_\-sub@{str\_\-sub}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-sub ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_039b391d5f43533a0ce750c5e40d7752}


\hypertarget{lstrlib_8c_38ed99b74af58070449ca344a7351f6a}{
\index{lstrlib.c@{lstrlib.c}!str\_\-upper@{str\_\-upper}}
\index{str\_\-upper@{str\_\-upper}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int str\_\-upper ({\bf lua\_\-State} $\ast$ {\em L})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_38ed99b74af58070449ca344a7351f6a}


\hypertarget{lstrlib_8c_e67cb3a8aef2fe1be04d689cddf5d587}{
\index{lstrlib.c@{lstrlib.c}!writer@{writer}}
\index{writer@{writer}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}static int writer ({\bf lua\_\-State} $\ast$ {\em L}, \/  const void $\ast$ {\em b}, \/  size\_\-t {\em size}, \/  void $\ast$ {\em B})\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_e67cb3a8aef2fe1be04d689cddf5d587}




\subsection{Variable Documentation}
\hypertarget{lstrlib_8c_ea7d99046a1869e17a061706511f770c}{
\index{lstrlib.c@{lstrlib.c}!strlib@{strlib}}
\index{strlib@{strlib}!lstrlib.c@{lstrlib.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const {\bf luaL\_\-Reg} {\bf strlib}\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\tt  \mbox{[}static\mbox{]}}}}
\label{lstrlib_8c_ea7d99046a1869e17a061706511f770c}


\textbf{Initial value:}

\begin{Code}\begin{verbatim} {
  {"byte", str_byte},
  {"char", str_char},
  {"dump", str_dump},
  {"find", str_find},
  {"format", str_format},
  {"gfind", gfind_nodef},
  {"gmatch", gmatch},
  {"gsub", str_gsub},
  {"len", str_len},
  {"lower", str_lower},
  {"match", str_match},
  {"rep", str_rep},
  {"reverse", str_reverse},
  {"sub", str_sub},
  {"upper", str_upper},
  {NULL, NULL}
}
\end{verbatim}
\end{Code}
