diff --git a/4coder_build_commands.cpp b/4coder_build_commands.cpp index a3896a87..054a6fc2 100644 --- a/4coder_build_commands.cpp +++ b/4coder_build_commands.cpp @@ -119,9 +119,9 @@ execute_standard_build_search(Application_Links *app, View_Summary *view, return(result); } -#elif defined(__linux__) +#elif defined(__linux__) || (defined(__APPLE__) && defined(__MACH__)) -// NOTE(allen): Build search rule for linux. +// NOTE(allen): Build search rule for linux and mac. static int32_t execute_standard_build_search(Application_Links *app, View_Summary *view, Buffer_Summary *active_buffer, String *dir, String *command, bool32 perform_backup){ char dir_space[512]; diff --git a/4coder_lib/4coder_string.h b/4coder_lib/4coder_string.h index 4ecec8c0..4d856f1d 100644 --- a/4coder_lib/4coder_string.h +++ b/4coder_lib/4coder_string.h @@ -1,5 +1,5 @@ /* -4coder_string.h - Version 1.0.74 +4coder_string.h - Version 1.0.80 no warranty implied; use at your own risk This software is in the public domain. Where that dedication is not @@ -12,7 +12,37 @@ To use in C mode: #define FSTRING_C // TOP +// 4tech_standard_preamble.h +#if !defined(FTECH_INTEGERS) +#define FTECH_INTEGERS +#include +typedef int8_t i8_4tech; +typedef int16_t i16_4tech; +typedef int32_t i32_4tech; +typedef int64_t i64_4tech; +typedef uint8_t u8_4tech; +typedef uint16_t u16_4tech; +typedef uint32_t u32_4tech; +typedef uint64_t u64_4tech; + +#if defined(FTECH_32_BIT) +typedef u32_4tech umem_4tech; +#else +typedef u64_4tech umem_4tech; +#endif + +typedef float f32_4tech; +typedef double f64_4tech; + +typedef int8_t b8_4tech; +typedef int32_t b32_4tech; +#endif + +#if !defined(Assert) +# define Assert(n) do{ if (!(n)) *(int*)0 = 0xA11E; }while(0) +#endif +// standard preamble end #if !defined(FSTRING_LINK) # define FSTRING_LINK static @@ -285,7 +315,7 @@ char_is_upper(char c) FSTRING_INLINE b32_4tech char_is_upper_utf8(char c) { - return (c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } #endif @@ -301,7 +331,7 @@ char_is_lower(char c) FSTRING_INLINE b32_4tech char_is_lower_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (unsigned char)c >= 128); } #endif @@ -333,7 +363,7 @@ char_is_whitespace(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'); } #endif @@ -341,7 +371,7 @@ char_is_alpha_numeric(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || (unsigned char)c >= 128); } #endif @@ -349,7 +379,7 @@ char_is_alpha_numeric_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_true(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')); } #endif @@ -357,7 +387,7 @@ char_is_alpha_numeric_true(char c) FSTRING_INLINE b32_4tech char_is_alpha_numeric_true_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || (unsigned char)c >= 128); } #endif @@ -365,7 +395,7 @@ char_is_alpha_numeric_true_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_'); } #endif @@ -373,7 +403,7 @@ char_is_alpha(char c) FSTRING_INLINE b32_4tech char_is_alpha_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' || (unsigned char)c >= 128); } #endif @@ -381,7 +411,7 @@ char_is_alpha_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_alpha_true(char c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); } #endif @@ -389,7 +419,7 @@ char_is_alpha_true(char c) FSTRING_INLINE b32_4tech char_is_alpha_true_utf8(u8_4tech c) { - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } #endif @@ -397,7 +427,7 @@ char_is_alpha_true_utf8(u8_4tech c) FSTRING_INLINE b32_4tech char_is_hex(char c) { - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f'); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); } #endif @@ -405,7 +435,7 @@ char_is_hex(char c) FSTRING_INLINE b32_4tech char_is_hex_utf8(u8_4tech c) { - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (unsigned char)c >= 128); } #endif @@ -421,7 +451,7 @@ char_is_numeric(char c) FSTRING_INLINE b32_4tech char_is_numeric_utf8(u8_4tech c) { - return (c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (unsigned char)c >= 128); } #endif diff --git a/4coder_project_commands.cpp b/4coder_project_commands.cpp index 3876b581..ab502d50 100644 --- a/4coder_project_commands.cpp +++ b/4coder_project_commands.cpp @@ -252,11 +252,13 @@ load_project_from_config_data(Application_Links *app, Partition *part, char *con { #if defined(_WIN32) -#define FKEY_COMMAND "fkey_command_win" +# define FKEY_COMMAND "fkey_command_win" #elif defined(__linux__) -#define FKEY_COMMAND "fkey_command_linux" +# define FKEY_COMMAND "fkey_command_linux" +#elif defined(__APPLE__) && defined(__MACH__) +# define FKEY_COMMAND "fkey_command_mac" #else -#error no project configuration names for this platform +# error no project configuration names for this platform #endif int32_t index = 0; diff --git a/buildsuper.sh b/buildsuper.sh index db6ef1ba..bd9a20ec 100755 --- a/buildsuper.sh +++ b/buildsuper.sh @@ -1,19 +1,43 @@ #!/bin/bash -# NOTE(allen): This code here is pulled from stack exchange, it could totally be wrong -# but I just don't know. The goal is to get the path to the buildsuper.sh script so that -# path can be used as an include path which allows a file in any folder to be built in place. -SCRIPT_FILE=$(readlink -f "$0") +echo "Building custom_4coders.so from $SOURCE ..." + +# Find the code home folder + +# NOTE(allen): Copied from stack exchange, hope it's reasonable -- readlink doesn't work on mac +TARGET_FILE="$0" +cd `dirname $TARGET_FILE` +TARGET_FILE=`basename $TARGET_FILE` +while [ -L "$TARGET_FILE" ] +do + TARGET_FILE=`readlink $TARGET_FILE` + cd `dirname $TARGET_FILE` + TARGET_FILE=`basename $TARGET_FILE` +done +PHYS_DIR=`pwd -P` +SCRIPT_FILE=$PHYS_DIR/$TARGET_FILE CODE_HOME=$(dirname "$SCRIPT_FILE") +# Find the most reasonable candidate build file + SOURCE="$1" if [ -z "$SOURCE" ]; then SOURCE="$CODE_HOME/4coder_default_bindings.cpp" fi -echo "Building custom_4coders.so from $SOURCE ..." +# NOTE(allen): Copied from stack exchange, hope it's reasonable -- readlink doesn't work on mac +TARGET_FILE="$SOURCE" +cd `dirname $TARGET_FILE` +TARGET_FILE=`basename $TARGET_FILE` +while [ -L "$TARGET_FILE" ] +do + TARGET_FILE=`readlink $TARGET_FILE` + cd `dirname $TARGET_FILE` + TARGET_FILE=`basename $TARGET_FILE` +done +PHYS_DIR=`pwd -P` +SOURCE=$PHYS_DIR/$TARGET_FILE -SOURCE=$(readlink -f "$SOURCE") - -g++ -I"$CODE_HOME" -Wno-write-strings -std=gnu++0x "$SOURCE" -shared -o custom_4coder.so -fPIC +FLAGS="-Wno-write-strings -Wno-null-dereference -Wno-comment -Wno-switch -Wno-writable-strings" +g++ -I"$CODE_HOME" $FLAGS -std=gnu++0x "$SOURCE" -shared -o custom_4coder.so -fPIC diff --git a/meta/4ed_metagen.cpp b/meta/4ed_metagen.cpp index 776f0d67..b1eb6f9d 100644 --- a/meta/4ed_metagen.cpp +++ b/meta/4ed_metagen.cpp @@ -317,7 +317,6 @@ generate_style(){ ////////////////////////////////////////////////////////////////////////////////////////////////// - // // Meta Parse Rules // diff --git a/meta/4tech_file_moving.h b/meta/4tech_file_moving.h index c13ee36d..370a9350 100644 --- a/meta/4tech_file_moving.h +++ b/meta/4tech_file_moving.h @@ -216,8 +216,7 @@ make_folder_if_missing(char *dir, char *folder){ static void clear_folder(char *folder){ - systemf("del /S /Q /F %s\\* & rmdir /S /Q %s & mkdir %s", - folder, folder, folder); + systemf("del /S /Q /F %s\\* & rmdir /S /Q %s & mkdir %s", folder, folder, folder); } static void @@ -276,7 +275,7 @@ zip(char *parent, char *folder, char *dest){ systemf("copy %s\\4tech_gobble.zip %s & del %s\\4tech_gobble.zip", cdir, dest, cdir); } -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #include #include @@ -413,142 +412,6 @@ zip(char *parent, char *folder, char *file){ popdir(temp); } -#elif defined(IS_MAC) - -#include -#include - -static Temp_Dir -pushdir(char *dir){ - Temp_Dir temp; - char *result = getcwd(temp.dir, sizeof(temp.dir)); - int32_t chresult = chdir(dir); - if (result == 0 || chresult != 0){ - printf("trying pushdir %s\n", dir); - Assert(result != 0); - Assert(chresult == 0); - } - return(temp); -} - -static void -popdir(Temp_Dir temp){ - chdir(temp.dir); -} - -static void -init_time_system(){ - // NOTE(allen): do nothing -} - -static uint64_t -get_time(){ - struct timespec spec; - uint64_t result; - clock_gettime(CLOCK_MONOTONIC, &spec); - result = (spec.tv_sec * (uint64_t)(1000000)) + (spec.tv_nsec / (uint64_t)(1000)); - return(result); -} - -static int32_t -get_current_directory(char *buffer, int32_t max){ - int32_t result = 0; - char *d = getcwd(buffer, max); - if (d == buffer){ - result = strlen(buffer); - } - return(result); -} - -static void -execute_in_dir(char *dir, char *str, char *args){ - if (dir){ - if (args){ - Temp_Dir temp = pushdir(dir); - systemf("%s %s", str, args); - popdir(temp); - } - else{ - Temp_Dir temp = pushdir(dir); - systemf("%s", str); - popdir(temp); - } - } - else{ - if (args){ - systemf("%s %s", str, args); - } - else{ - systemf("%s", str); - } - } -} - -static void -slash_fix(char *path){} - -static void -make_folder_if_missing(char *dir, char *folder){ - if (folder){ - systemf("mkdir -p %s/%s", dir, folder); - } - else{ - systemf("mkdir -p %s", dir); - } -} - -static void -clear_folder(char *folder){ - systemf("rm -rf %s*", folder); -} - -static void -delete_file(char *file){ - systemf("rm %s", file); -} - -static void -copy_file(char *path, char *file, char *folder1, char *folder2, char *newname){ - if (!newname){ - newname = file; - } - - if (path){ - if (folder2){ - systemf("cp %s/%s %s/%s/%s", path, file, folder1, folder2, newname); - } - else{ - systemf("cp %s/%s %s/%s", path, file, folder1, newname); - } - } - else{ - if (folder2){ - systemf("cp %s %s/%s/%s", file, folder1, folder2, newname); - } - else{ - systemf("cp %s %s/%s", file, folder1, newname); - } - } -} - -static void -copy_all(char *source, char *tag, char *folder){ - if (source){ - systemf("cp -f %s/%s %s", source, tag, folder); - } - else{ - systemf("cp -f %s %s", tag, folder); - } -} - -static void -zip(char *parent, char *folder, char *file){ - Temp_Dir temp = pushdir(parent); - printf("PARENT DIR: %s\n", parent); - systemf("zip -r %s %s", file, folder); - popdir(temp); -} - #else #error This OS is not supported yet #endif diff --git a/meta/build.cpp b/meta/build.cpp index bc76ab2b..4d86cae7 100644 --- a/meta/build.cpp +++ b/meta/build.cpp @@ -32,7 +32,7 @@ #if defined(IS_WINDOWS) #define EXE ".exe" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define EXE "" #else #error No EXE format specified for this OS @@ -40,26 +40,26 @@ #if defined(IS_WINDOWS) #define PDB ".pdb" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define PDB "" #else -#error No EXE format specified for this OS +#error No PDB format specified for this OS #endif #if defined(IS_WINDOWS) #define DLL ".dll" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define DLL ".so" #else -#error No EXE format specified for this OS +#error No DLL format specified for this OS #endif #if defined(IS_WINDOWS) #define BAT ".bat" -#elif defined(IS_LINUX) +#elif defined(IS_LINUX) || defined(IS_MAC) #define BAT ".sh" #else -#error No EXE format specified for this OS +#error No BAT format specified for this OS #endif static void @@ -246,8 +246,10 @@ build_cl(u32 flags, char *code_path, char *code_file, char *out_path, char *out_ } -#define GCC_OPTS \ -"-Wno-write-strings -D_GNU_SOURCE -fPIC " \ +#define GCC_OPTS \ +"-Wno-write-strings -Wno-comment -Wno-switch " \ +"-Wno-null-dereference " \ +"-D_GNU_SOURCE -fPIC " \ "-fno-threadsafe-statics -pthread" #define GCC_X86 "-m32" @@ -327,7 +329,8 @@ build_gcc(u32 flags, char *code_path, char *code_file, char *out_path, char *out build_ap(line, "-DFRED_KEEP_ASSERT"); } - build_ap(line, "%s/%s", code_path, code_file); + build_ap(line, "-I\"%s\"", code_path); + build_ap(line, "\"%s/%s\"", code_path, code_file); if (flags & LIBS){ build_ap(line, GCC_LIBS); @@ -380,6 +383,8 @@ buildsuper(char *code_path, char *out_path, char *filename, b32 x86_build){ #define PLAT_LAYER "win32_4ed.cpp" #elif defined(IS_LINUX) #define PLAT_LAYER "linux_4ed.cpp" +#elif defined(IS_MAC) +#define PLAT_LAYER "mac_4ed.m" #else #error No platform layer defined for this OS. #endif @@ -560,6 +565,8 @@ get_4coder_dist_name(String *zip_file, b32 OS_specific, char *folder, char *tier append_sc(zip_file, "-win"); #elif defined(IS_LINUX) && defined(IS_64BIT) append_sc(zip_file, "-linux"); +#elif defined(IS_MAC) && defined(IS_64BIT) + append_sc(zip_file, "-mac"); #else #error No OS string for zips on this OS #endif diff --git a/meta/fsm_table_generator.cpp b/meta/fsm_table_generator.cpp index 6ed167c7..3ee4d6d2 100644 --- a/meta/fsm_table_generator.cpp +++ b/meta/fsm_table_generator.cpp @@ -572,7 +572,7 @@ main_fsm(Cpp_Lex_FSM fsm, uint8_t pp_state, uint8_t c, bool32 ignore_string_deli case LS_hex: { - int is_hex = c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F' || c >= 128; + int is_hex = (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F') || c >= 128; if (!is_hex){ fsm.emit_token = true; } diff --git a/power/custom_4coder.so b/power/custom_4coder.so new file mode 100755 index 00000000..3339169f Binary files /dev/null and b/power/custom_4coder.so differ diff --git a/readlink_f_simulator.sh b/readlink_f_simulator.sh new file mode 100755 index 00000000..13f47935 --- /dev/null +++ b/readlink_f_simulator.sh @@ -0,0 +1,2 @@ +#!/bin/sh + diff --git a/string/4coder_string_build_num.txt b/string/4coder_string_build_num.txt index 37d2f1ab..5017890a 100644 --- a/string/4coder_string_build_num.txt +++ b/string/4coder_string_build_num.txt @@ -1,5 +1,5 @@ 1 0 -76 +86 diff --git a/string/build.sh b/string/build.sh index 0a380ee1..b56cb914 100755 --- a/string/build.sh +++ b/string/build.sh @@ -8,3 +8,4 @@ g++ $WARNINGS $FLAGS ../code/string/string_builder.cpp -g -o ../build/string_bui pushd string ../../build/string_builder popd + diff --git a/string/internal_4coder_string.cpp b/string/internal_4coder_string.cpp index 85cad789..5758b559 100644 --- a/string/internal_4coder_string.cpp +++ b/string/internal_4coder_string.cpp @@ -66,7 +66,7 @@ char_is_upper(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_upper_utf8(char c) /* DOC(If c is an uppercase letter this call returns true.) */{ - return (c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech @@ -78,7 +78,7 @@ char_is_lower(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_lower_utf8(u8_4tech c) /* DOC(If c is a lower letter this call returns true.) */{ - return (c >= 'a' && c <= 'z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE char @@ -102,61 +102,61 @@ char_is_whitespace(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric(char c) /* DOC(This call returns non-zero if c is any alphanumeric character including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_'); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphanumeric character including underscore, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '_' || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_true(char c) /* DOC(This call returns non-zero if c is any alphanumeric character no including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_numeric_true_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphanumeric character no including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha(char c) /* DOC(This call returns non-zero if c is any alphabetic character including underscore.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_'); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphabetic character including underscore, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c == '_' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_' || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_true(char c) /* DOC(This call returns non-zero if c is any alphabetic character.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z'); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_alpha_true_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any alphabetic character, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || (unsigned char)c >= 128); + return ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_hex(char c) /* DOC(This call returns non-zero if c is any valid hexadecimal digit.) */{ - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f'); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_hex_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any valid hexadecimal digit, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= '0' && c <= '9' || c >= 'A' && c <= 'F' || c >= 'a' && c <= 'f' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') || (unsigned char)c >= 128); } API_EXPORT_INLINE FSTRING_INLINE b32_4tech @@ -168,7 +168,7 @@ char_is_numeric(char c) API_EXPORT_INLINE FSTRING_INLINE b32_4tech char_is_numeric_utf8(u8_4tech c) /* DOC(This call returns non-zero if c is any valid decimal digit, or is a part of a UTF8 sequence outside of ASCII.) */{ - return (c >= '0' && c <= '9' || (unsigned char)c >= 128); + return ((c >= '0' && c <= '9') || (unsigned char)c >= 128); } diff --git a/string/string_builder.cpp b/string/string_builder.cpp index 9dd1d219..88b7d69a 100644 --- a/string/string_builder.cpp +++ b/string/string_builder.cpp @@ -425,9 +425,8 @@ int main(){ else if (token->type == CPP_PP_INCLUDE){ token = get_next_token(&pcontext); - if (token && token->type == CPP_PP_INCLUDE_FILE){ - lexeme = get_lexeme(*token, pcontext.data);; + lexeme = get_lexeme(*token, pcontext.data); lexeme.size -= 2; lexeme.str += 1;