<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>rpm: lua/lundump.c Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>lua/lundump.c</h1><a href="lundump_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment">** $Id: lundump.c,v 1.2 2004/03/23 05:09:14 jbj Exp $</span> <a name="l00003"></a>00003 <span class="comment">** load pre-compiled Lua chunks</span> <a name="l00004"></a>00004 <span class="comment">** See Copyright Notice in lua.h</span> <a name="l00005"></a>00005 <span class="comment">*/</span> <a name="l00006"></a>00006 <a name="l00007"></a><a class="code" href="lundump_8c.html#a480de4ebd1ff43b613879e98ab2bcd8">00007</a> <span class="preprocessor">#define lundump_c</span> <a name="l00008"></a>00008 <span class="preprocessor"></span> <a name="l00009"></a>00009 <span class="preprocessor">#include "lua.h"</span> <a name="l00010"></a>00010 <a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="ldebug_8h.html">ldebug.h</a>"</span> <a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="lfunc_8h.html">lfunc.h</a>"</span> <a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="lmem_8h.html">lmem.h</a>"</span> <a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="lopcodes_8h.html">lopcodes.h</a>"</span> <a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="lstring_8h.html">lstring.h</a>"</span> <a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="lundump_8h.html">lundump.h</a>"</span> <a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="lzio_8h.html">lzio.h</a>"</span> <a name="l00018"></a>00018 <a name="l00019"></a><a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">00019</a> <span class="preprocessor">#define LoadByte (lu_byte) ezgetc</span> <a name="l00020"></a>00020 <span class="preprocessor"></span> <a name="l00021"></a><a class="code" href="structLoadState.html">00021</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00022"></a><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">00022</a> <a class="code" href="structlua__State.html">lua_State</a>* L; <a name="l00023"></a><a class="code" href="structLoadState.html#53f2d5fa2c176bdf96701c983afb8182">00023</a> <a class="code" href="structZio.html">ZIO</a>* Z; <a name="l00024"></a><a class="code" href="structLoadState.html#6f7641cccb52a4df4b55890dee8dcbc8">00024</a> <a class="code" href="structMbuffer.html">Mbuffer</a>* b; <a name="l00025"></a><a class="code" href="structLoadState.html#69fbfe0112069fb8615c21e74ca18b14">00025</a> <span class="keywordtype">int</span> <a class="code" href="merge_8c.html#3ca5ecd34b04d6a243c054ac3a57f68d">swap</a>; <a name="l00026"></a>00026 <span class="comment">/*@observer@*/</span> <a name="l00027"></a><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">00027</a> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structname.html">name</a>; <a name="l00028"></a>00028 } <a class="code" href="structLoadState.html">LoadState</a>; <a name="l00029"></a>00029 <a name="l00030"></a><a class="code" href="lundump_8c.html#d856e233cc4530db73765a115f683b23">00030</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#d856e233cc4530db73765a115f683b23">unexpectedEOZ</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00031"></a>00031 <span class="comment">/*@modifies S @*/</span> <a name="l00032"></a>00032 { <a name="l00033"></a>00033 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"unexpected end of file in %s"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00034"></a>00034 } <a name="l00035"></a>00035 <a name="l00036"></a><a class="code" href="lundump_8c.html#43856e553f81fcbb12fd97e39b6904b4">00036</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="lundump_8c.html#43856e553f81fcbb12fd97e39b6904b4">ezgetc</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00037"></a>00037 <span class="comment">/*@modifies S @*/</span> <a name="l00038"></a>00038 { <a name="l00039"></a>00039 <span class="keywordtype">int</span> c=<a class="code" href="lzio_8h.html#ecca8ea1e6dc0c97b458f77c0e3491de">zgetc</a>(S-><a class="code" href="structLoadState.html#53f2d5fa2c176bdf96701c983afb8182">Z</a>); <a name="l00040"></a>00040 <span class="keywordflow">if</span> (c==<a class="code" href="lzio_8h.html#8341bdc72db5a2f045e18440f9523008">EOZ</a>) <a class="code" href="lundump_8c.html#d856e233cc4530db73765a115f683b23">unexpectedEOZ</a>(S); <a name="l00041"></a>00041 <span class="keywordflow">return</span> c; <a name="l00042"></a>00042 } <a name="l00043"></a>00043 <a name="l00044"></a><a class="code" href="lundump_8c.html#72fa40d47121b8c8af4982c6ba59d62b">00044</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#72fa40d47121b8c8af4982c6ba59d62b">ezread</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <span class="keywordtype">void</span>* b, <span class="keywordtype">int</span> n) <a name="l00045"></a>00045 <span class="comment">/*@modifies S, *b @*/</span> <a name="l00046"></a>00046 { <a name="l00047"></a>00047 <span class="keywordtype">int</span> r=<a class="code" href="lzio_8c.html#8f724436a986edc42726b43aded0759a">luaZ_read</a>(S-><a class="code" href="structLoadState.html#53f2d5fa2c176bdf96701c983afb8182">Z</a>,b,n); <a name="l00048"></a>00048 <span class="keywordflow">if</span> (r!=0) <a class="code" href="lundump_8c.html#d856e233cc4530db73765a115f683b23">unexpectedEOZ</a>(S); <a name="l00049"></a>00049 } <a name="l00050"></a>00050 <a name="l00051"></a><a class="code" href="lundump_8c.html#7a5d13b3653a25432f167162f585ffa4">00051</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#7a5d13b3653a25432f167162f585ffa4">LoadBlock</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <span class="keywordtype">void</span>* b, size_t size) <a name="l00052"></a>00052 <span class="comment">/*@modifies S, *b @*/</span> <a name="l00053"></a>00053 { <a name="l00054"></a>00054 <span class="keywordflow">if</span> (S-><a class="code" href="structLoadState.html#69fbfe0112069fb8615c21e74ca18b14">swap</a>) <a name="l00055"></a>00055 { <a name="l00056"></a>00056 <span class="keywordtype">char</span>* p=(<span class="keywordtype">char</span>*) b+size-1; <a name="l00057"></a>00057 <span class="keywordtype">int</span> n=size; <a name="l00058"></a>00058 <span class="keywordflow">while</span> (n--) *p--=(char)<a class="code" href="lundump_8c.html#43856e553f81fcbb12fd97e39b6904b4">ezgetc</a>(S); <a name="l00059"></a>00059 } <a name="l00060"></a>00060 <span class="keywordflow">else</span> <a name="l00061"></a>00061 <a class="code" href="lundump_8c.html#72fa40d47121b8c8af4982c6ba59d62b">ezread</a>(S,b,size); <a name="l00062"></a>00062 } <a name="l00063"></a>00063 <a name="l00064"></a><a class="code" href="lundump_8c.html#3b613d319e762e9232cf16bac906ef8d">00064</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#3b613d319e762e9232cf16bac906ef8d">LoadVector</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <span class="keywordtype">void</span>* b, <span class="keywordtype">int</span> m, size_t size) <a name="l00065"></a>00065 <span class="comment">/*@modifies S, *b @*/</span> <a name="l00066"></a>00066 { <a name="l00067"></a>00067 <span class="keywordflow">if</span> (S-><a class="code" href="structLoadState.html#69fbfe0112069fb8615c21e74ca18b14">swap</a>) <a name="l00068"></a>00068 { <a name="l00069"></a>00069 <span class="keywordtype">char</span>* q=(<span class="keywordtype">char</span>*) b; <a name="l00070"></a>00070 <span class="keywordflow">while</span> (m--) <a name="l00071"></a>00071 { <a name="l00072"></a>00072 <span class="keywordtype">char</span>* p=q+size-1; <a name="l00073"></a>00073 <span class="keywordtype">int</span> n=size; <a name="l00074"></a>00074 <span class="keywordflow">while</span> (n--) *p--=(char)<a class="code" href="lundump_8c.html#43856e553f81fcbb12fd97e39b6904b4">ezgetc</a>(S); <a name="l00075"></a>00075 q+=size; <a name="l00076"></a>00076 } <a name="l00077"></a>00077 } <a name="l00078"></a>00078 <span class="keywordflow">else</span> <a name="l00079"></a>00079 <a class="code" href="lundump_8c.html#72fa40d47121b8c8af4982c6ba59d62b">ezread</a>(S,b,m*size); <a name="l00080"></a>00080 } <a name="l00081"></a>00081 <a name="l00082"></a><a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">00082</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00083"></a>00083 <span class="comment">/*@modifies S @*/</span> <a name="l00084"></a>00084 { <a name="l00085"></a>00085 <span class="keywordtype">int</span> x; <a name="l00086"></a>00086 <a class="code" href="lundump_8c.html#7a5d13b3653a25432f167162f585ffa4">LoadBlock</a>(S,&x,<span class="keyword">sizeof</span>(x)); <a name="l00087"></a>00087 <span class="keywordflow">if</span> (x<0) <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"bad integer in %s"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00088"></a>00088 <span class="keywordflow">return</span> x; <a name="l00089"></a>00089 } <a name="l00090"></a>00090 <a name="l00091"></a><a class="code" href="lundump_8c.html#62f5a65570894d2d857b4a2bdf716acc">00091</a> <span class="keyword">static</span> size_t <a class="code" href="lundump_8c.html#62f5a65570894d2d857b4a2bdf716acc">LoadSize</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00092"></a>00092 <span class="comment">/*@modifies S @*/</span> <a name="l00093"></a>00093 { <a name="l00094"></a>00094 size_t x; <a name="l00095"></a>00095 <a class="code" href="lundump_8c.html#7a5d13b3653a25432f167162f585ffa4">LoadBlock</a>(S,&x,<span class="keyword">sizeof</span>(x)); <a name="l00096"></a>00096 <span class="keywordflow">return</span> x; <a name="l00097"></a>00097 } <a name="l00098"></a>00098 <a name="l00099"></a><a class="code" href="lundump_8c.html#373560dc80f918430160b6aefdd690af">00099</a> <span class="keyword">static</span> lua_Number <a class="code" href="lundump_8c.html#373560dc80f918430160b6aefdd690af">LoadNumber</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00100"></a>00100 <span class="comment">/*@modifies S @*/</span> <a name="l00101"></a>00101 { <a name="l00102"></a>00102 lua_Number x; <a name="l00103"></a>00103 <a class="code" href="lundump_8c.html#7a5d13b3653a25432f167162f585ffa4">LoadBlock</a>(S,&x,<span class="keyword">sizeof</span>(x)); <a name="l00104"></a>00104 <span class="keywordflow">return</span> x; <a name="l00105"></a>00105 } <a name="l00106"></a>00106 <a name="l00107"></a>00107 <span class="comment">/*@null@*/</span> <a name="l00108"></a><a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">00108</a> <span class="keyword">static</span> <a class="code" href="unionTString.html">TString</a>* <a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">LoadString</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00109"></a>00109 <span class="comment">/*@modifies S @*/</span> <a name="l00110"></a>00110 { <a name="l00111"></a>00111 size_t size=<a class="code" href="lundump_8c.html#62f5a65570894d2d857b4a2bdf716acc">LoadSize</a>(S); <a name="l00112"></a>00112 <span class="keywordflow">if</span> (size==0) <a name="l00113"></a>00113 <span class="keywordflow">return</span> NULL; <a name="l00114"></a>00114 <span class="keywordflow">else</span> <a name="l00115"></a>00115 { <a name="l00116"></a>00116 <span class="keywordtype">char</span>* s=<a class="code" href="lzio_8c.html#4f037d52a7c5321825d6fec40b532648">luaZ_openspace</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,S-><a class="code" href="structLoadState.html#6f7641cccb52a4df4b55890dee8dcbc8">b</a>,size); <a name="l00117"></a>00117 <a class="code" href="lundump_8c.html#72fa40d47121b8c8af4982c6ba59d62b">ezread</a>(S,s,size); <a name="l00118"></a>00118 <span class="keywordflow">return</span> <a class="code" href="lstring_8c.html#b41fb084ce3ea5e2779f6659ccc2484d">luaS_newlstr</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,s,size-1); <span class="comment">/* remove trailing '\0' */</span> <a name="l00119"></a>00119 } <a name="l00120"></a>00120 } <a name="l00121"></a>00121 <a name="l00122"></a><a class="code" href="lundump_8c.html#df31b58c8223f0aaed42909670403b2d">00122</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#df31b58c8223f0aaed42909670403b2d">LoadCode</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="structProto.html">Proto</a>* f) <a name="l00123"></a>00123 <span class="comment">/*@modifies S, f @*/</span> <a name="l00124"></a>00124 { <a name="l00125"></a>00125 <span class="keywordtype">int</span> size=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00126"></a>00126 f-><a class="code" href="structProto.html#53b66e4e4ac4b612a41b67a0ace9b6a5">code</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,size,<a class="code" href="llimits_8h.html#f6c47c68c1e6b0387c915031e0e681e3">Instruction</a>); <a name="l00127"></a>00127 f-><a class="code" href="structProto.html#43e4d3849b5859112d93bdc2534a7cc0">sizecode</a>=size; <a name="l00128"></a>00128 <a class="code" href="lundump_8c.html#3b613d319e762e9232cf16bac906ef8d">LoadVector</a>(S,f-><a class="code" href="structProto.html#53b66e4e4ac4b612a41b67a0ace9b6a5">code</a>,size,<span class="keyword">sizeof</span>(*f-><a class="code" href="structProto.html#53b66e4e4ac4b612a41b67a0ace9b6a5">code</a>)); <a name="l00129"></a>00129 } <a name="l00130"></a>00130 <a name="l00131"></a><a class="code" href="lundump_8c.html#57a7bd17cb90a2aa3ca5c0e3dcd559bf">00131</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#57a7bd17cb90a2aa3ca5c0e3dcd559bf">LoadLocals</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="structProto.html">Proto</a>* f) <a name="l00132"></a>00132 <span class="comment">/*@modifies S, f @*/</span> <a name="l00133"></a>00133 { <a name="l00134"></a>00134 <span class="keywordtype">int</span> i,n; <a name="l00135"></a>00135 n=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00136"></a>00136 f-><a class="code" href="structProto.html#24fd00345a3dad92baf371a9c96ba140">locvars</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,n,<a class="code" href="structLocVar.html">LocVar</a>); <a name="l00137"></a>00137 f-><a class="code" href="structProto.html#c2ab37e941e8866687f44f7b2f4b95a9">sizelocvars</a>=n; <a name="l00138"></a>00138 <span class="keywordflow">for</span> (i=0; i<n; i++) <a name="l00139"></a>00139 { <a name="l00140"></a>00140 f-><a class="code" href="structProto.html#24fd00345a3dad92baf371a9c96ba140">locvars</a>[i].<a class="code" href="structLocVar.html#cf62684d78349320b90b4acfa3b6d22a">varname</a>=<a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">LoadString</a>(S); <a name="l00141"></a>00141 f-><a class="code" href="structProto.html#24fd00345a3dad92baf371a9c96ba140">locvars</a>[i].<a class="code" href="structLocVar.html#c5a8bf5a59430eea070db5b1a97d8b88">startpc</a>=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00142"></a>00142 f-><a class="code" href="structProto.html#24fd00345a3dad92baf371a9c96ba140">locvars</a>[i].<a class="code" href="structLocVar.html#f7f0f7d509579ffec5610e329f85693b">endpc</a>=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00143"></a>00143 } <a name="l00144"></a>00144 } <a name="l00145"></a>00145 <a name="l00146"></a><a class="code" href="lundump_8c.html#34c52c2d39df2bef9b7079f512e0ed78">00146</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#34c52c2d39df2bef9b7079f512e0ed78">LoadLines</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="structProto.html">Proto</a>* f) <a name="l00147"></a>00147 <span class="comment">/*@modifies S, f @*/</span> <a name="l00148"></a>00148 { <a name="l00149"></a>00149 <span class="keywordtype">int</span> size=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00150"></a>00150 f-><a class="code" href="structProto.html#7b35e79a276933f7e71edceec5b4593d">lineinfo</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,size,<span class="keywordtype">int</span>); <a name="l00151"></a>00151 f-><a class="code" href="structProto.html#65303ae1d815313f3358a578113fcc6e">sizelineinfo</a>=size; <a name="l00152"></a>00152 <a class="code" href="lundump_8c.html#3b613d319e762e9232cf16bac906ef8d">LoadVector</a>(S,f-><a class="code" href="structProto.html#7b35e79a276933f7e71edceec5b4593d">lineinfo</a>,size,<span class="keyword">sizeof</span>(*f-><a class="code" href="structProto.html#7b35e79a276933f7e71edceec5b4593d">lineinfo</a>)); <a name="l00153"></a>00153 } <a name="l00154"></a>00154 <a name="l00155"></a><a class="code" href="lundump_8c.html#841d820b1d5922371773399d275dfe42">00155</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#841d820b1d5922371773399d275dfe42">LoadUpvalues</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="structProto.html">Proto</a>* f) <a name="l00156"></a>00156 <span class="comment">/*@modifies S, f @*/</span> <a name="l00157"></a>00157 { <a name="l00158"></a>00158 <span class="keywordtype">int</span> i,n; <a name="l00159"></a>00159 n=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00160"></a>00160 <span class="keywordflow">if</span> (n!=0 && n!=f-><a class="code" href="structProto.html#e20e9996154a89085ac03eaaf8f23d32">nups</a>) <a name="l00161"></a>00161 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"bad nupvalues in %s: read %d; expected %d"</span>, <a name="l00162"></a>00162 S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>,n,f-><a class="code" href="structProto.html#e20e9996154a89085ac03eaaf8f23d32">nups</a>); <a name="l00163"></a>00163 f-><a class="code" href="structProto.html#bebc63aea579a1b630efc04d2bf9c4b7">upvalues</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,n,<a class="code" href="unionTString.html">TString</a>*); <a name="l00164"></a>00164 f-><a class="code" href="structProto.html#6ecec897497ba7d94df6ef69289ef5c0">sizeupvalues</a>=n; <a name="l00165"></a>00165 <span class="keywordflow">for</span> (i=0; i<n; i++) f-><a class="code" href="structProto.html#bebc63aea579a1b630efc04d2bf9c4b7">upvalues</a>[i]=<a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">LoadString</a>(S); <a name="l00166"></a>00166 } <a name="l00167"></a>00167 <a name="l00168"></a>00168 <span class="comment">/*@null@*/</span> <a name="l00169"></a>00169 <span class="keyword">static</span> <a class="code" href="structProto.html">Proto</a>* <a class="code" href="lundump_8c.html#a2ec0217055b726cb4173c8205bb9cdb">LoadFunction</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <span class="comment">/*@null@*/</span> <a class="code" href="unionTString.html">TString</a>* p) <a name="l00170"></a>00170 <span class="comment">/*@modifies S @*/</span>; <a name="l00171"></a>00171 <a name="l00172"></a><a class="code" href="lundump_8c.html#1854dcefef99e90599873a480c49da5f">00172</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#1854dcefef99e90599873a480c49da5f">LoadConstants</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="structProto.html">Proto</a>* f) <a name="l00173"></a>00173 <span class="comment">/*@modifies S, f @*/</span> <a name="l00174"></a>00174 { <a name="l00175"></a>00175 <span class="keywordtype">int</span> i,n; <a name="l00176"></a>00176 n=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00177"></a>00177 f-><a class="code" href="structProto.html#f379e777efa031186320f7e90c14f8c9">k</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,n,<a class="code" href="structlua__TObject.html">TObject</a>); <a name="l00178"></a>00178 f-><a class="code" href="structProto.html#5bd719e0486168f6ecd4b01bf41a7444">sizek</a>=n; <a name="l00179"></a>00179 <span class="keywordflow">for</span> (i=0; i<n; i++) <a name="l00180"></a>00180 { <a name="l00181"></a>00181 <a class="code" href="structlua__TObject.html">TObject</a>* o=&f-><a class="code" href="structProto.html#f379e777efa031186320f7e90c14f8c9">k</a>[i]; <a name="l00182"></a>00182 <span class="keywordtype">int</span> t=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00183"></a>00183 <span class="keywordflow">switch</span> (t) <a name="l00184"></a>00184 { <a name="l00185"></a>00185 <span class="keywordflow">case</span> LUA_TNUMBER: <a name="l00186"></a>00186 <a class="code" href="lobject_8h.html#6e4ca2bc0025d5b310e7a78f3ac04fcc">setnvalue</a>(o,<a class="code" href="lundump_8c.html#373560dc80f918430160b6aefdd690af">LoadNumber</a>(S)); <a name="l00187"></a>00187 <span class="keywordflow">break</span>; <a name="l00188"></a>00188 <span class="keywordflow">case</span> LUA_TSTRING: <a name="l00189"></a>00189 <a class="code" href="lobject_8h.html#a7a9ab918b0322fa100f3f7af16d2375">setsvalue2n</a>(o,<a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">LoadString</a>(S)); <a name="l00190"></a>00190 <span class="keywordflow">break</span>; <a name="l00191"></a>00191 <span class="keywordflow">case</span> LUA_TNIL: <a name="l00192"></a>00192 <a class="code" href="lobject_8h.html#d9034def7bbc1965ec3d714d84620b07">setnilvalue</a>(o); <a name="l00193"></a>00193 <span class="keywordflow">break</span>; <a name="l00194"></a>00194 <span class="keywordflow">default</span>: <a name="l00195"></a>00195 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"bad constant type (%d) in %s"</span>,t,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00196"></a>00196 <span class="keywordflow">break</span>; <a name="l00197"></a>00197 } <a name="l00198"></a>00198 } <a name="l00199"></a>00199 n=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00200"></a>00200 f-><a class="code" href="structProto.html#54dc8e2e8973007794fa0ab0e4a71461">p</a>=<a class="code" href="lmem_8h.html#715cc368a85506c7a104cda58f270f3e">luaM_newvector</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,n,<a class="code" href="structProto.html">Proto</a>*); <a name="l00201"></a>00201 f-><a class="code" href="structProto.html#73ddad1a18b7c46be46ec32aa2a08632">sizep</a>=n; <a name="l00202"></a>00202 <span class="keywordflow">for</span> (i=0; i<n; i++) f-><a class="code" href="structProto.html#54dc8e2e8973007794fa0ab0e4a71461">p</a>[i]=<a class="code" href="lundump_8c.html#a2ec0217055b726cb4173c8205bb9cdb">LoadFunction</a>(S,f-><a class="code" href="structProto.html#92b6ec319e7aa1ee8b8ff7807353ad96">source</a>); <a name="l00203"></a>00203 } <a name="l00204"></a>00204 <a name="l00205"></a><a class="code" href="lundump_8c.html#a2ec0217055b726cb4173c8205bb9cdb">00205</a> <span class="keyword">static</span> <a class="code" href="structProto.html">Proto</a>* <a class="code" href="lundump_8c.html#a2ec0217055b726cb4173c8205bb9cdb">LoadFunction</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <a class="code" href="unionTString.html">TString</a>* p) <a name="l00206"></a>00206 <span class="comment">/*@modifies S @*/</span> <a name="l00207"></a>00207 { <a name="l00208"></a>00208 <a class="code" href="structProto.html">Proto</a>* f=<a class="code" href="lfunc_8c.html#4ffd9d8ef515a7f785d007de7ceb9e4f">luaF_newproto</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>); <a name="l00209"></a>00209 f-><a class="code" href="structProto.html#92b6ec319e7aa1ee8b8ff7807353ad96">source</a>=<a class="code" href="lundump_8c.html#bfe7dabe70bd14e27d54d3cedc6cb70a">LoadString</a>(S); <span class="keywordflow">if</span> (f-><a class="code" href="structProto.html#92b6ec319e7aa1ee8b8ff7807353ad96">source</a>==NULL) f-><a class="code" href="structProto.html#92b6ec319e7aa1ee8b8ff7807353ad96">source</a>=p; <a name="l00210"></a>00210 f-><a class="code" href="structProto.html#03213e8977769a6c465e3f47028f0de0">lineDefined</a>=<a class="code" href="lundump_8c.html#9f0e8462baca39c1599c55689ab68d49">LoadInt</a>(S); <a name="l00211"></a>00211 f-><a class="code" href="structProto.html#e20e9996154a89085ac03eaaf8f23d32">nups</a>=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00212"></a>00212 f-><a class="code" href="structProto.html#3f106f177af6c68ffd8b042713266b98">numparams</a>=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00213"></a>00213 f-><a class="code" href="structProto.html#82302f2e9040b681d5b34c1239dcd673">is_vararg</a>=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00214"></a>00214 f-><a class="code" href="structProto.html#9c9ed4e9d996233f75cdf56b912e4803">maxstacksize</a>=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00215"></a>00215 <a class="code" href="lundump_8c.html#34c52c2d39df2bef9b7079f512e0ed78">LoadLines</a>(S,f); <a name="l00216"></a>00216 <a class="code" href="lundump_8c.html#57a7bd17cb90a2aa3ca5c0e3dcd559bf">LoadLocals</a>(S,f); <a name="l00217"></a>00217 <a class="code" href="lundump_8c.html#841d820b1d5922371773399d275dfe42">LoadUpvalues</a>(S,f); <a name="l00218"></a>00218 <a class="code" href="lundump_8c.html#1854dcefef99e90599873a480c49da5f">LoadConstants</a>(S,f); <a name="l00219"></a>00219 <a class="code" href="lundump_8c.html#df31b58c8223f0aaed42909670403b2d">LoadCode</a>(S,f); <a name="l00220"></a>00220 <span class="preprocessor">#ifndef TRUST_BINARIES</span> <a name="l00221"></a>00221 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!<a class="code" href="ldebug_8c.html#1abb4dc97c40ac34a3a1de5fca70f7c2">luaG_checkcode</a>(f)) <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"bad code in %s"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00222"></a>00222 <span class="preprocessor">#endif</span> <a name="l00223"></a>00223 <span class="preprocessor"></span> <span class="keywordflow">return</span> f; <a name="l00224"></a>00224 } <a name="l00225"></a>00225 <a name="l00226"></a><a class="code" href="lundump_8c.html#368cffced5612a5336d34ea39a76c5c6">00226</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#368cffced5612a5336d34ea39a76c5c6">LoadSignature</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00227"></a>00227 <span class="comment">/*@modifies S @*/</span> <a name="l00228"></a>00228 { <a name="l00229"></a>00229 <span class="keyword">const</span> <span class="keywordtype">char</span>* s=<a class="code" href="lundump_8h.html#f21c9fa681dc005c17a7b288882cae1b">LUA_SIGNATURE</a>; <a name="l00230"></a>00230 <span class="keywordflow">while</span> (*s!=0 && <a class="code" href="lundump_8c.html#43856e553f81fcbb12fd97e39b6904b4">ezgetc</a>(S)==*s) <a name="l00231"></a>00231 ++s; <a name="l00232"></a>00232 <span class="keywordflow">if</span> (*s!=0) <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"bad signature in %s"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00233"></a>00233 } <a name="l00234"></a>00234 <a name="l00235"></a><a class="code" href="lundump_8c.html#23040af5ac87dda9caff5fa49d8eaabf">00235</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#23040af5ac87dda9caff5fa49d8eaabf">TestSize</a> (<a class="code" href="structLoadState.html">LoadState</a>* S, <span class="keywordtype">int</span> s, <span class="keyword">const</span> <span class="keywordtype">char</span>* what) <a name="l00236"></a>00236 <span class="comment">/*@modifies S @*/</span> <a name="l00237"></a>00237 { <a name="l00238"></a>00238 <span class="keywordtype">int</span> r=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00239"></a>00239 <span class="keywordflow">if</span> (r!=s) <a name="l00240"></a>00240 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"virtual machine mismatch in %s: "</span> <a name="l00241"></a>00241 <span class="stringliteral">"size of %s is %d but read %d"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>,what,s,r); <a name="l00242"></a>00242 } <a name="l00243"></a>00243 <a name="l00244"></a><a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">00244</a> <span class="preprocessor">#define TESTSIZE(s,w) TestSize(S,s,w)</span> <a name="l00245"></a><a class="code" href="lundump_8c.html#84f7b4da06203ed9c0b553c33a5281af">00245</a> <span class="preprocessor"></span><span class="preprocessor">#define V(v) v/16,v%16</span> <a name="l00246"></a>00246 <span class="preprocessor"></span> <a name="l00247"></a><a class="code" href="lundump_8c.html#070311f1203a7633e63ee83a444c5168">00247</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="lundump_8c.html#070311f1203a7633e63ee83a444c5168">LoadHeader</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00248"></a>00248 <span class="comment">/*@modifies S @*/</span> <a name="l00249"></a>00249 { <a name="l00250"></a>00250 <span class="keywordtype">int</span> version; <a name="l00251"></a>00251 lua_Number x,tx=<a class="code" href="lundump_8h.html#35abb4506b62c5d6869471ca175795b2">TEST_NUMBER</a>; <a name="l00252"></a>00252 <a class="code" href="lundump_8c.html#368cffced5612a5336d34ea39a76c5c6">LoadSignature</a>(S); <a name="l00253"></a>00253 version=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S); <a name="l00254"></a>00254 <span class="keywordflow">if</span> (version><a class="code" href="config_8h.html#1c6d5de492ac61ad29aec7aa9a436bbf">VERSION</a>) <a name="l00255"></a>00255 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"%s too new: "</span> <a name="l00256"></a>00256 <span class="stringliteral">"read version %d.%d; expected at most %d.%d"</span>, <a name="l00257"></a>00257 S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>,<a class="code" href="lundump_8c.html#84f7b4da06203ed9c0b553c33a5281af">V</a>(version),<a class="code" href="lundump_8c.html#84f7b4da06203ed9c0b553c33a5281af">V</a>(<a class="code" href="config_8h.html#1c6d5de492ac61ad29aec7aa9a436bbf">VERSION</a>)); <a name="l00258"></a>00258 <span class="keywordflow">if</span> (version<<a class="code" href="lundump_8h.html#8b417f7f88b76c9ecdf023af87dcc61f">VERSION0</a>) <span class="comment">/* check last major change */</span> <a name="l00259"></a>00259 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"%s too old: "</span> <a name="l00260"></a>00260 <span class="stringliteral">"read version %d.%d; expected at least %d.%d"</span>, <a name="l00261"></a>00261 S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>,<a class="code" href="lundump_8c.html#84f7b4da06203ed9c0b553c33a5281af">V</a>(version),<a class="code" href="lundump_8c.html#84f7b4da06203ed9c0b553c33a5281af">V</a>(<a class="code" href="lundump_8h.html#8b417f7f88b76c9ecdf023af87dcc61f">VERSION0</a>)); <a name="l00262"></a>00262 S-><a class="code" href="structLoadState.html#69fbfe0112069fb8615c21e74ca18b14">swap</a>=(<a class="code" href="lundump_8c.html#c949528aad686cfe9f0844bcecb436cc">luaU_endianness</a>()!=<a class="code" href="lundump_8c.html#7908bb9dbffbaec17f12214871eaf4a7">LoadByte</a>(S)); <span class="comment">/* need to swap bytes? */</span> <a name="l00263"></a>00263 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<span class="keyword">sizeof</span>(<span class="keywordtype">int</span>),<span class="stringliteral">"int"</span>); <a name="l00264"></a>00264 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<span class="keyword">sizeof</span>(size_t), <span class="stringliteral">"size_t"</span>); <a name="l00265"></a>00265 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<span class="keyword">sizeof</span>(<a class="code" href="llimits_8h.html#f6c47c68c1e6b0387c915031e0e681e3">Instruction</a>), <span class="stringliteral">"Instruction"</span>); <a name="l00266"></a>00266 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<a class="code" href="lopcodes_8h.html#4c1d995d13200130d713c6dc5e223c13">SIZE_OP</a>, <span class="stringliteral">"OP"</span>); <a name="l00267"></a>00267 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<a class="code" href="lopcodes_8h.html#205e8f662c5b2496cb7d9e7aa37cda90">SIZE_A</a>, <span class="stringliteral">"A"</span>); <a name="l00268"></a>00268 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<a class="code" href="lopcodes_8h.html#c8795820709810bf0baf1660341cacc2">SIZE_B</a>, <span class="stringliteral">"B"</span>); <a name="l00269"></a>00269 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<a class="code" href="lopcodes_8h.html#5f42703bf77b09689626ca8cf3fc5fc1">SIZE_C</a>, <span class="stringliteral">"C"</span>); <a name="l00270"></a>00270 <a class="code" href="lundump_8c.html#a744c1dfc31d789ef42abb353f4e5a65">TESTSIZE</a>(<span class="keyword">sizeof</span>(lua_Number), <span class="stringliteral">"number"</span>); <a name="l00271"></a>00271 x=<a class="code" href="lundump_8c.html#373560dc80f918430160b6aefdd690af">LoadNumber</a>(S); <a name="l00272"></a>00272 <span class="keywordflow">if</span> ((<span class="keywordtype">long</span>)x!=(<span class="keywordtype">long</span>)tx) <span class="comment">/* disregard errors in last bits of fraction */</span> <a name="l00273"></a>00273 <a class="code" href="ldebug_8c.html#5ef43f05a00bde7ee94539f3d765789c">luaG_runerror</a>(S-><a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>,<span class="stringliteral">"unknown number format in %s"</span>,S-><a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>); <a name="l00274"></a>00274 } <a name="l00275"></a>00275 <a name="l00276"></a>00276 <span class="comment">/*@null@*/</span> <a name="l00277"></a><a class="code" href="lundump_8c.html#4258812e348410945b5357f2f06491d3">00277</a> <span class="keyword">static</span> <a class="code" href="structProto.html">Proto</a>* <a class="code" href="lundump_8c.html#4258812e348410945b5357f2f06491d3">LoadChunk</a> (<a class="code" href="structLoadState.html">LoadState</a>* S) <a name="l00278"></a>00278 <span class="comment">/*@modifies S @*/</span> <a name="l00279"></a>00279 { <a name="l00280"></a>00280 <a class="code" href="lundump_8c.html#070311f1203a7633e63ee83a444c5168">LoadHeader</a>(S); <a name="l00281"></a>00281 <span class="keywordflow">return</span> <a class="code" href="lundump_8c.html#a2ec0217055b726cb4173c8205bb9cdb">LoadFunction</a>(S,NULL); <a name="l00282"></a>00282 } <a name="l00283"></a>00283 <a name="l00284"></a>00284 <span class="comment">/*</span> <a name="l00285"></a>00285 <span class="comment">** load precompiled chunk</span> <a name="l00286"></a>00286 <span class="comment">*/</span> <a name="l00287"></a><a class="code" href="lundump_8h.html#d299768fa7e250292e84050f01cadf5a">00287</a> <a class="code" href="structProto.html">Proto</a>* <a class="code" href="lundump_8c.html#d299768fa7e250292e84050f01cadf5a">luaU_undump</a> (<a class="code" href="structlua__State.html">lua_State</a>* L, <a class="code" href="structZio.html">ZIO</a>* Z, <a class="code" href="structMbuffer.html">Mbuffer</a>* buff) <a name="l00288"></a>00288 { <a name="l00289"></a>00289 <a class="code" href="structLoadState.html">LoadState</a> S; <a name="l00290"></a>00290 <span class="keyword">const</span> <span class="keywordtype">char</span>* s=<a class="code" href="lzio_8h.html#d81465e122c5123ac5e57652f2148167">zname</a>(Z); <a name="l00291"></a>00291 <span class="keywordflow">if</span> (*s==<span class="charliteral">'@'</span> || *s==<span class="charliteral">'='</span>) <a name="l00292"></a>00292 S.<a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>=s+1; <a name="l00293"></a>00293 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*s==<a class="code" href="lundump_8h.html#f21c9fa681dc005c17a7b288882cae1b">LUA_SIGNATURE</a>[0]) <a name="l00294"></a>00294 S.<a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>=<span class="stringliteral">"binary string"</span>; <a name="l00295"></a>00295 <span class="keywordflow">else</span> <a name="l00296"></a>00296 S.<a class="code" href="structLoadState.html#0cd70a73d5f61472258ebb5256abbaef">name</a>=s; <a name="l00297"></a>00297 S.<a class="code" href="structLoadState.html#8eabd10510332ab5eaf5244bb347bac2">L</a>=L; <a name="l00298"></a>00298 S.<a class="code" href="structLoadState.html#53f2d5fa2c176bdf96701c983afb8182">Z</a>=Z; <a name="l00299"></a>00299 S.<a class="code" href="structLoadState.html#6f7641cccb52a4df4b55890dee8dcbc8">b</a>=buff; <a name="l00300"></a>00300 <span class="keywordflow">return</span> <a class="code" href="lundump_8c.html#4258812e348410945b5357f2f06491d3">LoadChunk</a>(&S); <a name="l00301"></a>00301 } <a name="l00302"></a>00302 <a name="l00303"></a>00303 <span class="comment">/*</span> <a name="l00304"></a>00304 <span class="comment">** find byte order</span> <a name="l00305"></a>00305 <span class="comment">*/</span> <a name="l00306"></a><a class="code" href="lundump_8h.html#c949528aad686cfe9f0844bcecb436cc">00306</a> <span class="keywordtype">int</span> <a class="code" href="lundump_8c.html#c949528aad686cfe9f0844bcecb436cc">luaU_endianness</a> (<span class="keywordtype">void</span>) <a name="l00307"></a>00307 { <a name="l00308"></a>00308 <span class="keywordtype">int</span> x=1; <a name="l00309"></a>00309 <span class="keywordflow">return</span> *(<span class="keywordtype">char</span>*)&x; <a name="l00310"></a>00310 } </pre></div><hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>