mirror of https://github.com/rusefi/lua.git
details
This commit is contained in:
parent
eb45f8b631
commit
468fbdbde7
10
lstate.h
10
lstate.h
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: lstate.h,v 1.9 1998/06/02 20:37:04 roberto Exp roberto $
|
** $Id: lstate.h,v 1.10 1998/06/19 16:14:09 roberto Exp roberto $
|
||||||
** Global State
|
** Global State
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -7,6 +7,8 @@
|
||||||
#ifndef lstate_h
|
#ifndef lstate_h
|
||||||
#define lstate_h
|
#define lstate_h
|
||||||
|
|
||||||
|
#include <setjmp.h>
|
||||||
|
|
||||||
#include "lobject.h"
|
#include "lobject.h"
|
||||||
#include "lua.h"
|
#include "lua.h"
|
||||||
|
|
||||||
|
@ -39,9 +41,11 @@ typedef struct {
|
||||||
} stringtable;
|
} stringtable;
|
||||||
|
|
||||||
|
|
||||||
|
enum Status {LOCK, HOLD, FREE, COLLECTED};
|
||||||
|
|
||||||
struct ref {
|
struct ref {
|
||||||
TObject o;
|
TObject o;
|
||||||
enum {LOCK, HOLD, FREE, COLLECTED} status;
|
enum Status status;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -49,7 +53,7 @@ struct lua_State {
|
||||||
/* thread-specific state */
|
/* thread-specific state */
|
||||||
struct Stack stack; /* Lua stack */
|
struct Stack stack; /* Lua stack */
|
||||||
struct C_Lua_Stack Cstack; /* C2lua struct */
|
struct C_Lua_Stack Cstack; /* C2lua struct */
|
||||||
void *errorJmp; /* current error recover point */
|
jmp_buf *errorJmp; /* current error recover point */
|
||||||
char *Mbuffer; /* global buffer */
|
char *Mbuffer; /* global buffer */
|
||||||
char *Mbuffbase; /* current first position of Mbuffer */
|
char *Mbuffbase; /* current first position of Mbuffer */
|
||||||
int Mbuffsize; /* size of Mbuffer */
|
int Mbuffsize; /* size of Mbuffer */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
** $Id: lstrlib.c,v 1.14 1998/05/31 22:20:45 roberto Exp roberto $
|
** $Id: lstrlib.c,v 1.15 1998/06/19 16:14:09 roberto Exp roberto $
|
||||||
** Standard library for strings and pattern-matching
|
** Standard library for strings and pattern-matching
|
||||||
** See Copyright Notice in lua.h
|
** See Copyright Notice in lua.h
|
||||||
*/
|
*/
|
||||||
|
@ -302,19 +302,19 @@ static char *match (char *s, char *p, struct Capture *cap)
|
||||||
switch (*ep) {
|
switch (*ep) {
|
||||||
case '*': { /* repetition */
|
case '*': { /* repetition */
|
||||||
char *res;
|
char *res;
|
||||||
if (s1 && s1>s && (res = match(s1, p, cap)))
|
if (s1 && s1>s && ((res=match(s1, p, cap)) != NULL))
|
||||||
return res;
|
return res;
|
||||||
p=ep+1; goto init; /* else return match(s, ep+1, cap); */
|
p=ep+1; goto init; /* else return match(s, ep+1, cap); */
|
||||||
}
|
}
|
||||||
case '?': { /* optional */
|
case '?': { /* optional */
|
||||||
char *res;
|
char *res;
|
||||||
if (s1 && (res = match(s1, ep+1, cap)))
|
if (s1 && ((res=match(s1, ep+1, cap)) != NULL))
|
||||||
return res;
|
return res;
|
||||||
p=ep+1; goto init; /* else return match(s, ep+1, cap); */
|
p=ep+1; goto init; /* else return match(s, ep+1, cap); */
|
||||||
}
|
}
|
||||||
case '-': { /* repetition */
|
case '-': { /* repetition */
|
||||||
char *res;
|
char *res;
|
||||||
if ((res = match(s, ep+1, cap)) != 0)
|
if ((res = match(s, ep+1, cap)) != NULL)
|
||||||
return res;
|
return res;
|
||||||
else if (s1 && s1>s) {
|
else if (s1 && s1>s) {
|
||||||
s = s1;
|
s = s1;
|
||||||
|
|
Loading…
Reference in New Issue