*updated the list of donors;
*polished the sample code; *improved stability of the shell; *updated binaries.
This commit is contained in:
parent
a1fd96aa03
commit
381a8a87cd
@ -44,6 +44,7 @@ DO NOT CHANGE THIS FILE.
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<ul type="none">
|
<ul type="none">
|
||||||
|
<li>Ken Seergobin</li>
|
||||||
<li>Francesco De Simone</li>
|
<li>Francesco De Simone</li>
|
||||||
<li>Nicola Giacobbe</li>
|
<li>Nicola Giacobbe</li>
|
||||||
<li>Devulder Jean-Paul</li>
|
<li>Devulder Jean-Paul</li>
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -88,7 +88,7 @@ class level
|
|||||||
c.name = "Therapist"
|
c.name = "Therapist"
|
||||||
c.talk_handler = lambda (_)
|
c.talk_handler = lambda (_)
|
||||||
(
|
(
|
||||||
print "- " + _.name + ": give you 23 HP";
|
print "- " + _.name + ": gives you 23 HP";
|
||||||
_.alive = false
|
_.alive = false
|
||||||
role.hp = role.hp + 23
|
role.hp = role.hp + 23
|
||||||
)
|
)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
' For more information about MY-BASIC, see https://github.com/paladin-t/my_basic/
|
' For more information about MY-BASIC, see https://github.com/paladin-t/my_basic/
|
||||||
|
|
||||||
def cls()
|
def cls()
|
||||||
if os() = "WIN" then
|
if os() = "WINDOWS" then
|
||||||
sys("cls")
|
sys("cls")
|
||||||
else
|
else
|
||||||
sys("clear")
|
sys("clear")
|
||||||
|
26
shell/main.c
26
shell/main.c
@ -441,6 +441,7 @@ static void _destroy_code(void) {
|
|||||||
free(code->lines[i]);
|
free(code->lines[i]);
|
||||||
free(code->lines);
|
free(code->lines);
|
||||||
free(code);
|
free(code);
|
||||||
|
code = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _clear_code(void) {
|
static void _clear_code(void) {
|
||||||
@ -582,16 +583,15 @@ static void _destroy_importing_directories(void) {
|
|||||||
free(importing_dirs->dirs[i]);
|
free(importing_dirs->dirs[i]);
|
||||||
free(importing_dirs->dirs);
|
free(importing_dirs->dirs);
|
||||||
free(importing_dirs);
|
free(importing_dirs);
|
||||||
|
importing_dirs = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static _importing_dirs_t* _set_importing_directories(char* dirs) {
|
static _importing_dirs_t* _set_importing_directories(const char* dirs) {
|
||||||
_importing_dirs_t* result = 0;
|
_importing_dirs_t* result = 0;
|
||||||
char* end = 0;
|
|
||||||
|
|
||||||
if(!dirs)
|
if(!dirs)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
end = dirs + strlen(dirs);
|
|
||||||
result = (_importing_dirs_t*)malloc(sizeof(_importing_dirs_t));
|
result = (_importing_dirs_t*)malloc(sizeof(_importing_dirs_t));
|
||||||
_CHECK_MEM(result);
|
_CHECK_MEM(result);
|
||||||
result->count = 0;
|
result->count = 0;
|
||||||
@ -599,23 +599,26 @@ static _importing_dirs_t* _set_importing_directories(char* dirs) {
|
|||||||
result->dirs = (char**)malloc(sizeof(char*) * result->size);
|
result->dirs = (char**)malloc(sizeof(char*) * result->size);
|
||||||
_CHECK_MEM(result->dirs);
|
_CHECK_MEM(result->dirs);
|
||||||
|
|
||||||
while(dirs && dirs < end && *dirs) {
|
while(dirs && *dirs) {
|
||||||
int l = 0;
|
int l = 0;
|
||||||
char* buf = 0;
|
char* buf = 0;
|
||||||
bool_t as = false;
|
bool_t as = false;
|
||||||
strtok(dirs, ";");
|
const char* p = dirs;
|
||||||
if(!(*dirs))
|
dirs = strchr(dirs, ';');
|
||||||
continue;
|
if(dirs) {
|
||||||
if(*dirs == ';') { dirs++; continue; }
|
l = dirs - p;
|
||||||
|
if(*dirs == ';') ++dirs;
|
||||||
|
} else {
|
||||||
|
l = strlen(p);
|
||||||
|
}
|
||||||
if(result->count + 1 == result->size) {
|
if(result->count + 1 == result->size) {
|
||||||
result->size += _REALLOC_INC_STEP;
|
result->size += _REALLOC_INC_STEP;
|
||||||
result->dirs = (char**)realloc(result->dirs, sizeof(char*) * result->size);
|
result->dirs = (char**)realloc(result->dirs, sizeof(char*) * result->size);
|
||||||
}
|
}
|
||||||
l = (int)strlen(dirs);
|
as = p[l - 1] != '/' && p[l - 1] != '\\';
|
||||||
as = dirs[l - 1] != '/' && dirs[l - 1] != '\\';
|
|
||||||
buf = (char*)malloc(l + (as ? 2 : 1));
|
buf = (char*)malloc(l + (as ? 2 : 1));
|
||||||
_CHECK_MEM(buf);
|
_CHECK_MEM(buf);
|
||||||
memcpy(buf, dirs, l);
|
memcpy(buf, p, l);
|
||||||
if(as) {
|
if(as) {
|
||||||
buf[l] = '/';
|
buf[l] = '/';
|
||||||
buf[l + 1] = '\0';
|
buf[l + 1] = '\0';
|
||||||
@ -627,7 +630,6 @@ static _importing_dirs_t* _set_importing_directories(char* dirs) {
|
|||||||
if(*buf == '\\') *buf = '/';
|
if(*buf == '\\') *buf = '/';
|
||||||
buf++;
|
buf++;
|
||||||
}
|
}
|
||||||
dirs += l + 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_destroy_importing_directories();
|
_destroy_importing_directories();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user