Ver a proveniência

some safety checks

master
Felix Brendel há 7 anos
ascendente
cometimento
0923f36f9c
2 ficheiros alterados com 7 adições e 4 eliminações
  1. +2
    -2
      src/memory.cpp
  2. +5
    -2
      src/parse.cpp

+ 2
- 2
src/memory.cpp Ver ficheiro

@@ -151,11 +151,11 @@ namespace Memory {
next_free_spot_in_string_memory = string_memory;

// init nil
try nil = create_lisp_object();
try_void nil = create_lisp_object();
set_type(nil, Lisp_Object_Type::Nil);

// init t
try t = create_lisp_object();
try_void t = create_lisp_object();
set_type(t, Lisp_Object_Type::T);
}



+ 5
- 2
src/parse.cpp Ver ficheiro

@@ -275,11 +275,14 @@ namespace Parser {
try ret = Memory::create_lisp_object_pair(
Memory::get_or_create_lisp_object_symbol("quasiquote"),
Memory::create_lisp_object_pair(result, Memory::nil));
else if (quoteType == ',')
else if (quoteType == ',') {
try ret = Memory::create_lisp_object_pair(
Memory::get_or_create_lisp_object_symbol("unquote"),
Memory::create_lisp_object_pair(result, Memory::nil));
inject_scl(ret);
}
if (ret) {
inject_scl(ret);
}
return ret;
}



Carregando…
Cancelar
Guardar