diff --git a/headers/saphire/saphire_inner.h b/headers/saphire/saphire_inner.h index 2143e25..95f9040 100644 --- a/headers/saphire/saphire_inner.h +++ b/headers/saphire/saphire_inner.h @@ -149,6 +149,7 @@ typedef struct { sClass* running_class; } sRunInfo; +BOOL statment_tree_internal_commands(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, int j, char* title, BOOL input, char* sname, int sline); BOOL statment_tree_internal_commands_fselector(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); BOOL statment_tree_internal_commands_object(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); BOOL statment_tree_internal_commands_ref(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); @@ -297,6 +298,7 @@ BOOL statment_tree_internal_commands_condition_ge(sRunInfo* runinfo, sCommand* c BOOL statment_tree_internal_commands_condition_nt(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); BOOL statment_tree_internal_commands_condition_ot(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); BOOL statment_tree_internal_commands_condition_ef(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); +int statment_tree_internal_commands_write_lf(sWFd* nextout, enum eLineField lf); typedef BOOL (*fInternalCommand)(sRunInfo* runinfo, sCommand* command, int* rcode, vector_obj* argv, vector_obj* blocks, sWFd* nextout, sRFd* nextin, int nexterr, char* title, char* sname, int sline, BOOL input, int j); @@ -663,6 +665,8 @@ void sHash_delete(sHash* self); string_obj* saphire_get_hash_item(sHash* hash, char* key); void saphire_put_hash_item(sHash* hash, char* key, string_obj* item); void saphire_erase_hash_element(sHash* hash, char* key); +void saphire_clear_array_element(sAry* v); +void saphire_erase_array_element(sAry* v, int index); typedef struct { sStatments* mStatments; @@ -682,6 +686,7 @@ void burry_stack_frame(sAry* fun_argv_before, string_obj** sname_strace, int* li //////////////////////////////////////////////////////////// BOOL vcat_expand_env(string_obj* pipeout, char* env, vector_obj* numbers,char* sname, int line); +int str_lflen(enum eLineField lf, char* str); //////////////////////////////////////////////////////////// /// from saphire_parser.c diff --git a/src/saphire_commands.c b/src/saphire_commands.c index 51fec4b..a0450da 100644 --- a/src/saphire_commands.c +++ b/src/saphire_commands.c @@ -1,3 +1,5 @@ +#define _GNU_SOURCE /* wcswidth */ + #include "config.h" #include #include @@ -15,6 +17,7 @@ #include #include #include +#include #if defined(HAVE_CURSES_H) #include diff --git a/src/saphire_commands_string.c b/src/saphire_commands_string.c index c52fe65..ebb3e53 100644 --- a/src/saphire_commands_string.c +++ b/src/saphire_commands_string.c @@ -1,3 +1,5 @@ +#define _GNU_SOURCE /* strcasestr, asprintf */ + #include "config.h" #include #include @@ -15,6 +17,7 @@ #include #include #include +#include #if defined(HAVE_CURSES_H) #include diff --git a/src/saphire_curses.c b/src/saphire_curses.c index 3d79fb6..6bfa095 100644 --- a/src/saphire_curses.c +++ b/src/saphire_curses.c @@ -1,3 +1,5 @@ +#define _GNU_SOURCE /* wcswidth */ + #include #include #include @@ -19,6 +21,7 @@ #include #elif defined(HAVE_NCURSES_H) #include +#include #elif defined(HAVE_NCURSES_NCURSES_H) #include #endif diff --git a/src/saphire_kanji.c b/src/saphire_kanji.c index 03bb46e..8cf6d6d 100644 --- a/src/saphire_kanji.c +++ b/src/saphire_kanji.c @@ -1,3 +1,5 @@ +#define _GNU_SOURCE /* wcswidth */ + #include "config.h" #include "saphire/saphire_debug.h" #include "saphire/saphire_kanji.h" @@ -6,6 +8,7 @@ #include #include #include +#include char* gKanjiCodeString[6] = { "eucjp", "sjis", "utf8", "utf8-mac", "byte", "unknown" diff --git a/src/saphire_main.c b/src/saphire_main.c index 522c480..8dcc07d 100644 --- a/src/saphire_main.c +++ b/src/saphire_main.c @@ -9,6 +9,8 @@ #include #include #include +#include +#include #include "saphire/saphire.h" #include "saphire/saphire_inner.h" diff --git a/src/saphire_vm.c b/src/saphire_vm.c index e12772c..6a0b5f1 100644 --- a/src/saphire_vm.c +++ b/src/saphire_vm.c @@ -11,8 +11,10 @@ #include #include #include +#include #include #include +#include #include