// S : tags mstring todo $TAGS // S : expect --result valid // S : cc -o test.bc $CC_OPT $file // S : verify -o nofail:malloc $V_OPT test.bc // N : V : CC_OPT : V_OPT : TAGS : RESULT // V : con : : --lamp constring : min : valid // V : sym : : --lamp symstring --symbolic : sym : valid #include #include #include #include void my_strcat( char * dest, const char * src ) { while (*dest) dest++; while ((*dest++ = *src++)); } int main() { char buffe[7] = "aaabbb"; char * expected = __lamp_lift_arr( buffe, 7 ); char buffa[7] = "aaa"; char * a = __lamp_lift_arr( buffa, 7 ); char buffb[4] = "bbb"; char * b = __lamp_lift_arr( buffb, 4 ); my_strcat( a, b ); assert( strcmp( a, expected ) == 0 ); }