// 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 : sym : : --lamp symstring --symbolic : sym : valid // V : con : : --lamp constring : min : valid #include #include #include #include #include int main() { char buff1[5] = "aabb"; char * src = __lamp_lift_str( buff1 ); char buff2[5] = {}; char * dst = __lamp_lift_arr( buff2, sizeof( buff2 ) ); memcpy( dst, src, 5 ); char buff3[5] = "aabb"; char * expected = __lamp_lift_str( buff3 ); int i = 0; while ( expected[ i ] != '\0' ) { assert( dst[ i ] == expected[ i ] ); ++i; } assert( dst[ i ] == '\0' ); }