@@ -655,37 +655,53 @@ int KAOS_EXPORT KaosRegister(struct Kaos _kaos)
655655{
656656 kaos = _kaos ;
657657
658+ struct KaosValue split_optional_delimiter ;
659+ char * split_optional_delimiter_value = " " ;
660+ split_optional_delimiter .s = malloc (1 + strlen (split_optional_delimiter_value ));
661+ strcpy (split_optional_delimiter .s , split_optional_delimiter_value );
662+ struct KaosValue split_optional_params [] = {
663+ split_optional_delimiter
664+ };
665+
666+ struct KaosValue join_optional_separator ;
667+ char * join_optional_separator_value = " " ;
668+ join_optional_separator .s = malloc (1 + strlen (join_optional_separator_value ));
669+ strcpy (join_optional_separator .s , join_optional_separator_value );
670+ struct KaosValue join_optional_params [] = {
671+ join_optional_separator
672+ };
673+
658674 // String Operations
659- kaos .defineFunction ("upper" , K_STRING , K_ANY , upper_params_name , upper_params_type , upper_params_length );
660- kaos .defineFunction ("lower" , K_STRING , K_ANY , lower_params_name , lower_params_type , lower_params_length );
661- kaos .defineFunction ("capitalize" , K_STRING , K_ANY , capitalize_params_name , capitalize_params_type , capitalize_params_length );
662- kaos .defineFunction ("concat" , K_STRING , K_ANY , concat_params_name , concat_params_type , concat_params_length );
663- kaos .defineFunction ("split" , K_LIST , K_ANY , split_params_name , split_params_type , split_params_length );
664- kaos .defineFunction ("join" , K_STRING , K_ANY , join_params_name , join_params_type , join_params_length );
675+ kaos .defineFunction ("upper" , K_STRING , K_ANY , upper_params_name , upper_params_type , upper_params_length , NULL , 0 );
676+ kaos .defineFunction ("lower" , K_STRING , K_ANY , lower_params_name , lower_params_type , lower_params_length , NULL , 0 );
677+ kaos .defineFunction ("capitalize" , K_STRING , K_ANY , capitalize_params_name , capitalize_params_type , capitalize_params_length , NULL , 0 );
678+ kaos .defineFunction ("concat" , K_STRING , K_ANY , concat_params_name , concat_params_type , concat_params_length , NULL , 0 );
679+ kaos .defineFunction ("split" , K_LIST , K_ANY , split_params_name , split_params_type , split_params_length , split_optional_params , 1 );
680+ kaos .defineFunction ("join" , K_STRING , K_ANY , join_params_name , join_params_type , join_params_length , join_optional_params , 1 );
665681
666682 // Searching & Replacing
667- kaos .defineFunction ("search" , K_NUMBER , K_ANY , search_params_name , search_params_type , search_params_length );
668- kaos .defineFunction ("replace" , K_STRING , K_ANY , replace_params_name , replace_params_type , replace_params_length );
683+ kaos .defineFunction ("search" , K_NUMBER , K_ANY , search_params_name , search_params_type , search_params_length , NULL , 0 );
684+ kaos .defineFunction ("replace" , K_STRING , K_ANY , replace_params_name , replace_params_type , replace_params_length , NULL , 0 );
669685
670686 // Information Functions
671- kaos .defineFunction ("length" , K_NUMBER , K_ANY , length_params_name , length_params_type , length_params_length );
672- kaos .defineFunction ("is_empty" , K_BOOL , K_ANY , is_empty_params_name , is_empty_params_type , is_empty_params_length );
673- kaos .defineFunction ("is_numeric" , K_BOOL , K_ANY , is_numeric_params_name , is_empty_params_type , is_empty_params_length );
674- kaos .defineFunction ("is_alpha" , K_BOOL , K_ANY , is_alpha_params_name , is_alpha_params_type , is_alpha_params_length );
675- kaos .defineFunction ("is_alnum" , K_BOOL , K_ANY , is_alnum_params_name , is_alnum_params_type , is_alnum_params_length );
676- kaos .defineFunction ("is_space" , K_BOOL , K_ANY , is_space_params_name , is_space_params_type , is_space_params_length );
677- kaos .defineFunction ("is_lower" , K_BOOL , K_ANY , is_lower_params_name , is_lower_params_type , is_lower_params_length );
678- kaos .defineFunction ("is_upper" , K_BOOL , K_ANY , is_upper_params_name , is_upper_params_type , is_upper_params_length );
687+ kaos .defineFunction ("length" , K_NUMBER , K_ANY , length_params_name , length_params_type , length_params_length , NULL , 0 );
688+ kaos .defineFunction ("is_empty" , K_BOOL , K_ANY , is_empty_params_name , is_empty_params_type , is_empty_params_length , NULL , 0 );
689+ kaos .defineFunction ("is_numeric" , K_BOOL , K_ANY , is_numeric_params_name , is_empty_params_type , is_empty_params_length , NULL , 0 );
690+ kaos .defineFunction ("is_alpha" , K_BOOL , K_ANY , is_alpha_params_name , is_alpha_params_type , is_alpha_params_length , NULL , 0 );
691+ kaos .defineFunction ("is_alnum" , K_BOOL , K_ANY , is_alnum_params_name , is_alnum_params_type , is_alnum_params_length , NULL , 0 );
692+ kaos .defineFunction ("is_space" , K_BOOL , K_ANY , is_space_params_name , is_space_params_type , is_space_params_length , NULL , 0 );
693+ kaos .defineFunction ("is_lower" , K_BOOL , K_ANY , is_lower_params_name , is_lower_params_type , is_lower_params_length , NULL , 0 );
694+ kaos .defineFunction ("is_upper" , K_BOOL , K_ANY , is_upper_params_name , is_upper_params_type , is_upper_params_length , NULL , 0 );
679695
680696 // String Constants
681- kaos .defineFunction ("whitespace" , K_STRING , K_ANY , whitespace_params_name , whitespace_params_type , whitespace_params_length );
682- kaos .defineFunction ("ascii_lowercase" , K_STRING , K_ANY , ascii_lowercase_params_name , ascii_uppercase_params_type , ascii_lowercase_params_length );
683- kaos .defineFunction ("ascii_uppercase" , K_STRING , K_ANY , ascii_uppercase_params_name , ascii_uppercase_params_type , ascii_uppercase_params_length );
684- kaos .defineFunction ("ascii_letters" , K_STRING , K_ANY , ascii_letters_params_name , ascii_letters_params_type , ascii_letters_params_length );
685- kaos .defineFunction ("digits" , K_STRING , K_ANY , digits_params_name , digits_params_type , digits_params_length );
686- kaos .defineFunction ("hexdigits" , K_STRING , K_ANY , hexdigits_params_name , hexdigits_params_type , hexdigits_params_length );
687- kaos .defineFunction ("octdigits" , K_STRING , K_ANY , octdigits_params_name , octdigits_params_type , octdigits_params_length );
688- kaos .defineFunction ("punctuation" , K_STRING , K_ANY , punctuation_params_name , punctuation_params_type , punctuation_params_length );
697+ kaos .defineFunction ("whitespace" , K_STRING , K_ANY , whitespace_params_name , whitespace_params_type , whitespace_params_length , NULL , 0 );
698+ kaos .defineFunction ("ascii_lowercase" , K_STRING , K_ANY , ascii_lowercase_params_name , ascii_uppercase_params_type , ascii_lowercase_params_length , NULL , 0 );
699+ kaos .defineFunction ("ascii_uppercase" , K_STRING , K_ANY , ascii_uppercase_params_name , ascii_uppercase_params_type , ascii_uppercase_params_length , NULL , 0 );
700+ kaos .defineFunction ("ascii_letters" , K_STRING , K_ANY , ascii_letters_params_name , ascii_letters_params_type , ascii_letters_params_length , NULL , 0 );
701+ kaos .defineFunction ("digits" , K_STRING , K_ANY , digits_params_name , digits_params_type , digits_params_length , NULL , 0 );
702+ kaos .defineFunction ("hexdigits" , K_STRING , K_ANY , hexdigits_params_name , hexdigits_params_type , hexdigits_params_length , NULL , 0 );
703+ kaos .defineFunction ("octdigits" , K_STRING , K_ANY , octdigits_params_name , octdigits_params_type , octdigits_params_length , NULL , 0 );
704+ kaos .defineFunction ("punctuation" , K_STRING , K_ANY , punctuation_params_name , punctuation_params_type , punctuation_params_length , NULL , 0 );
689705
690706 return 0 ;
691707}
0 commit comments