/* *** SCRIPT SYMBOL: [String] StrCat *** */ static void _sc_strcat(char*s1,char*s2) { // make sure they don't try to append a char to the string VALIDATE_STRING (s2); check_strlen(s1); int mosttocopy=(MAXSTRLEN-strlen(s1))-1; // int numbf=game.iface[4].numbuttons; my_strncpy(&s1[strlen(s1)], s2, mosttocopy); }
/* *** SCRIPT SYMBOL: [String] StrFormat *** */ static void _sc_sprintf(char*destt,char*texx, ...) { char displbuf[STD_BUFFER_SIZE]; VALIDATE_STRING(destt); check_strlen(destt); va_list ap; va_start(ap,texx); my_sprintf(displbuf, get_translation(texx), ap); va_end(ap); my_strncpy(destt, displbuf, MAXSTRLEN - 1); }
/* *** SCRIPT SYMBOL: [File] File::ReadRawLine^1 *** */ static void File_ReadRawLine(sc_File *fil, char* buffer) { check_valid_file_handle(fil->handle, "File.ReadRawLine"); check_strlen(buffer); int i = 0; while (i < MAXSTRLEN - 1) { buffer[i] = fgetc(fil->handle); if (buffer[i] == 13) { // CR -- skip LF and abort fgetc(fil->handle); break; } if (buffer[i] == 10) // LF only -- abort break; if (feof(fil->handle)) // EOF -- abort break; i++; } buffer[i] = 0; }
int main() { check_isupper(); check_isLower(); puts("--------\nTest ft_puts:\n"); check_puts("great succes !"); check_puts(0); check_isDigit(); check_isAlpha(); check_isAlnum(); check_isAscii(); check_isprint(); check_tolower(); check_toupper(); int i = 0; srand( 42 ); printf( "--------\nTest ft_bzero:\n" ); char str_bezro[STR_MAX_SIZE]; char str_ft_bezro[STR_MAX_SIZE]; size_t len_bzero; for ( i = MIN; i < MAX; i++ ) { len_bzero = random_str( str_bezro ); len_bzero -= random( 0, len_bzero ); strcpy( str_ft_bezro, str_bezro ); ft_bzero( str_ft_bezro, len_bzero ); bzero( str_bezro, len_bzero ); if ( memcmp( str_ft_bezro, str_bezro, len_bzero ) != 0 ) { printf("result: \n%s\nexpected result: \n%s\n", str_ft_bezro, str_bezro ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); printf( "--------\nTest ft_strcat:\n" ); char str_strcat[STR_MAX_SIZE * 2]; char str_ft_strcat[STR_MAX_SIZE * 2]; char str_strcat_s2[STR_MAX_SIZE]; char *ret_strcat; char *ret_ft_strcat; size_t len_strcat; size_t len_strcat_s2; for ( i = MIN; i < MAX; i++ ) { len_strcat_s2 = random_str( str_strcat_s2 ); len_strcat = random_str( str_strcat ); strcpy( str_ft_strcat, str_strcat ); ret_ft_strcat = ft_strcat( str_ft_strcat, str_strcat_s2 ); ret_strcat = strcat( str_strcat, str_strcat_s2 ); if ( memcmp( str_strcat, str_ft_strcat, len_strcat + len_strcat_s2 ) != 0 ) { printmem( str_strcat, len_strcat ); printmem( str_ft_strcat, len_strcat ); printf("result: \n%s\nexpected result: \n%s\n", str_strcat, str_ft_strcat ); exit( 0 ); } if ( memcmp( ret_strcat, ret_ft_strcat, len_strcat + len_strcat_s2 ) != 0 ) { printmem( ret_strcat, len_strcat ); printmem( ret_ft_strcat, len_strcat ); printf("result: \n%s\nexpected result: \n%s\n", ret_strcat, ret_ft_strcat ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); check_strlen(); check_strchr(); check_strrchr(); printf( "--------\nTest ft_memset:\n" ); char str_memset[STR_MAX_SIZE]; char str_ft_memset[STR_MAX_SIZE]; size_t len_memset; for ( i = MIN; i < MAX; i++ ) { len_memset = random_str( str_memset ); len_memset -= random( 0, len_memset ); strcpy( str_ft_memset, str_memset ); ft_memset( str_ft_memset, i, len_memset ); memset( str_memset, i, len_memset ); if ( memcmp( str_ft_memset, str_memset, len_bzero ) != 0 ) { printf("result: \n%s\nexpected result: \n%s\n", str_ft_memset, str_memset ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); printf( "--------\nTest ft_memcpy:\n" ); char str_memcpy[STR_MAX_SIZE]; char str_ft_memcpy[STR_MAX_SIZE]; char str_memcpy_s2[STR_MAX_SIZE]; size_t len_memcpy; void *ret_memcpy; void *ret_ft_memcpy; for ( i = MIN; i < MAX; i++ ) { len_memcpy = random_str( str_memcpy_s2 ); ret_ft_memcpy = ft_memcpy( str_ft_memcpy, str_memcpy_s2, len_memcpy ); ret_memcpy = memcpy( str_memcpy, str_memcpy_s2, len_memcpy ); if ( memcmp( str_ft_memcpy, str_memcpy, len_memcpy ) != 0 ) { printf("result: \n%s\nexpected result: \n%s\n", str_ft_memcpy, str_memcpy ); exit( 0 ); } if ( ret_ft_memcpy != str_ft_memcpy ) { printf("result: \n%d\nexpected result: \n%d\n", (size_t)ret_ft_memcpy, (size_t)str_ft_memcpy ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); printf( "--------\nTest ft_strdup:\n" ); char str_strdup[STR_MAX_SIZE]; size_t len_strdup; char *ret_ft_strdup; char *ret_strdup; for ( i = MIN; i < MAX; i++ ) { len_strdup = random_str( str_strdup ); ret_ft_strdup = ft_strdup( str_strdup ); ret_strdup = strdup( str_strdup ); if ( memcmp( ret_ft_strdup, ret_strdup, len_strdup ) != 0 ) { printf("result: \n%s\nexpected result: \n%s\n", ret_ft_strdup, ret_strdup ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); printf( "--------\nTest ft_strcpy:\n" ); char str_ft_strcpy[STR_MAX_SIZE]; char str_strcpy[STR_MAX_SIZE]; char str_strcpy_s2[STR_MAX_SIZE]; char *ret_strcpy; char *ret_ft_strcpy; int len_strcpy; for ( i = MIN; i < MAX; i++ ) { len_strcpy = random_str( str_strcpy_s2 ); ret_strcpy = strcpy( str_strcpy, str_strcpy_s2 ); ret_ft_strcpy = ft_strcpy( str_ft_strcpy, str_strcpy_s2 ); if ( memcmp( str_ft_strcpy, str_strcpy, len_strcpy ) != 0 ) { printf("result: \n%s\n, expected result: \n%s\n", str_ft_strcpy, str_strcpy ); exit( 0 ); } if ( memcmp( ret_strcpy, ret_ft_strcpy, len_strcpy ) != 0 ) { printf("result: \n%s\n, expected result: \n%s\n", ret_strcpy, ret_ft_strcpy ); exit( 0 ); } } printf("\033[32mOk\n\033[0m"); printf( "--------\nTest ft_cat:\n" ); ft_cat( 4 ); ft_cat( 8 ); ft_cat( -4 ); ft_cat( open( "ft_bzero.s", O_RDONLY ) ); ft_cat( open( "Makefile", O_RDONLY ) ); return 0; }
/* *** SCRIPT SYMBOL: [String] StrToUpperCase *** */ static void _sc_strupper (char *desbuf) { VALIDATE_STRING(desbuf); check_strlen (desbuf); strupr (desbuf); }
/* *** SCRIPT SYMBOL: [String] StrCopy *** */ static void _sc_strcpy(char*s1,char*s2) { check_strlen(s1); my_strncpy(s1, s2, MAXSTRLEN - 1); }