// 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 z3skip : valid #include #include #include #include int main() { char buff[7] = "abbabb"; char *str = __lamp_lift_str( buff ); char target = 'a'; char buffe1[7] = "abbabb"; const char * expected1 = __lamp_lift_str( buffe1 ); str = strchr( str, target ); assert( strcmp( str, expected1 ) == 0 ); str++; char buffe2[4] = "abb"; const char * expected2 = __lamp_lift_str( buffe2 ); str = strchr( str, target ); assert( strcmp( str, expected2 ) == 0 ); }