Devel-CCov

 view release on metacpan or  search on metacpan

CCov.xs  view on Meta::CPAN

	PREINIT:
	STRLEN length;
	STRLEN targlen, relen;
	char *base_str;
	char *targ_str;
	int st_start, st_pos;
	int pos = 0;
	int state = 'r';
	int line = 1;
	int plevel = 0;
	PPCODE:
	base_str = SvPV(in_str, length);
	if (length == 0) croak("cc_exprstr: length=0");
	targ_str = SvPV(in_target, targlen);
	relen = myrelen(targ_str, targlen);
	while (pos < length) {
	  char at = base_str[pos];
	  char at2 = pos+1 < length? base_str[pos+1] : ' ';
	  char old_st = state;
	  if (at == '\n') ++line;
	  switch (state) {

CCov.xs  view on Meta::CPAN

	SV *in_target
	PREINIT:
	STRLEN length;
	STRLEN targlen, relen;
	char *base_str;
	char *targ_str;
	int st_start, st_pos;
	int pos = 0;
	int state = 'r';
	int line = 1;
	PPCODE:
	base_str = SvPV(in_str, length);
	if (length == 0) croak("cc_strstr: length=0");
	targ_str = SvPV(in_target, targlen);
	relen = myrelen(targ_str, targlen);
	while (pos < length) {
	  char at = base_str[pos];
	  char at2 = pos+1 < length? base_str[pos+1] : ' ';
	  char old_st = state;
	  if (at == '\n') ++line;
	  switch (state) {

CCov.xs  view on Meta::CPAN

	PREINIT:
	STRLEN length;
	char *base_str;
	int line;
	int pos;
	int opens,closes;
	int st_start;
	int st_pos;
	char state;
	char paren2;
	PPCODE:
	/*warn("---BEGIN codeblock\n");/**/
	if (!(paren1 == '(' || paren1 == '{'))
	  croak("extract_balanced: only works on () and {}");
	paren2 = paren1 == '('? ')' : '}';
	base_str = SvPV(in_str, length);
	line = 1;
	pos = 0;
	opens = closes = 0;
	state = 'r';
	if (base_str[0] != paren1)



( run in 1.011 second using v1.01-cache-2.11-cpan-71847e10f99 )