naev 0.12.6
lvar.c File Reference

Lua Variables. More...

#include <inttypes.h>
#include "lvar.h"
#include "array.h"
#include "nlua_time.h"
#include "nluadef.h"
Include dependency graph for lvar.c:

Go to the source code of this file.

Functions

static int lvar_cmp (const void *p1, const void *p2)
 Compares two lua variable names. For use with qsort/bsearch.
static void lvar_free (lvar *var)
 Frees a lua variable.
lvarlvar_get (const lvar *arr, const char *str)
 Gets a lua var by name.
int lvar_push (lua_State *L, const lvar *v)
 Pushes a lua var to a lua state.
lvar lvar_tovar (lua_State *L, const char *name, int idx)
 Gets a lua variable from an index from a lua state.
void lvar_freeArray (lvar *arr)
 Frees a variable array.
int lvar_addArray (lvar **arr, const lvar *new_var, int sort)
 Adds a var to a var array.
void lvar_rmArray (lvar **arr, lvar *rm_var)
 Removes a var from a var array.
int lvar_save (const lvar *arr, xmlTextWriterPtr writer)
 Saves the mission variables.
lvarlvar_load (xmlNodePtr parent)
 Loads the vars from XML file.

Detailed Description

Lua Variables.

Definition in file lvar.c.

Function Documentation

◆ lvar_addArray()

int lvar_addArray ( lvar ** arr,
const lvar * new_var,
int sort )

Adds a var to a var array.

Parameters
arrArray to add var to (should be already initialized).
new_varNew variable to add to array.
sortWhether or not to sort.
Returns
0 on success.

Definition at line 160 of file lvar.c.

◆ lvar_cmp()

int lvar_cmp ( const void * p1,
const void * p2 )
static

Compares two lua variable names. For use with qsort/bsearch.

Definition at line 26 of file lvar.c.

◆ lvar_free()

void lvar_free ( lvar * var)
static

Frees a lua variable.

Parameters
varLua variable to free.

Definition at line 123 of file lvar.c.

◆ lvar_freeArray()

void lvar_freeArray ( lvar * arr)

Frees a variable array.

Parameters
arrArray to free.

Definition at line 145 of file lvar.c.

◆ lvar_get()

lvar * lvar_get ( const lvar * arr,
const char * str )

Gets a lua var by name.

Parameters
arrArray to search in.
strName to use as a key.
Returns
Found element or NULL if not found.

Definition at line 41 of file lvar.c.

◆ lvar_load()

lvar * lvar_load ( xmlNodePtr parent)

Loads the vars from XML file.

Parameters
parentParent node containing the variables.
Returns
Newly allocated lua variable array or NULL on error.

Definition at line 241 of file lvar.c.

◆ lvar_push()

int lvar_push ( lua_State * L,
const lvar * v )

Pushes a lua var to a lua state.

Parameters
LLua state to push to.
vLua variable to push.
Returns
Number of elements pushed onto the stack.

Definition at line 56 of file lvar.c.

◆ lvar_rmArray()

void lvar_rmArray ( lvar ** arr,
lvar * rm_var )

Removes a var from a var array.

Parameters
arrArray to remove var from.
rm_varVar to remove.

Definition at line 187 of file lvar.c.

◆ lvar_save()

int lvar_save ( const lvar * arr,
xmlTextWriterPtr writer )

Saves the mission variables.

Parameters
arrArray to save.
writerXML Writer to use.
Returns
0 on success.

Definition at line 200 of file lvar.c.

◆ lvar_tovar()

lvar lvar_tovar ( lua_State * L,
const char * name,
int idx )

Gets a lua variable from an index from a lua state.

Parameters
LLua state to get var from.
nameName of the variable.
idxIndex to get value from.
Returns
New lua variable that should be freed with lvar_free().

Definition at line 86 of file lvar.c.