hi everyone,

i finally got my code to search mulitple times against a string..

ie. the string is :

<title>hi all</title><dummy>sdf</dummy><title>hi everone</title>

and i search for <title> and it returns me the positions (of >)

7 and 39 in the string( note: the 2nd title tag's > is 39 spaces away from the first title tags > )

this works only when i debug my code using gdb...but when i run it ...it gives me a segfault...also , the thing of main concern is that my search function keeps saying(after i found the last title tag) that there are more title tags..instead of exiting the loop..and i think this causes the seg fault..

my code hits the segfault in the bolded line below

thanks for any help

Code:
int* search(char *file, char *currentSearch, char *tagType) {
	
	int error = 0;
    regex_t re;
    size_t a = 1;
    regmatch_t arrayOfMatches[2];
	int counter=0;
	int *Matches;
    
    if (regcomp(&re, currentSearch, REG_EXTENDED|REG_ICASE) != 0) {

        return(0);      

    }
  
	/* Finds the matches on the line */
	error = regexec (&re, file, a, &arrayOfMatches[0], 0);

	/* while matches found */
	while (error == 0) {    
	 	
		if(strcmp(tagType,"start")==0){
			printf(" %d ", arrayOfMatches[counter].rm_eo);
			
		}
		
		else{
			//Matches[counter] = arrayOfMatches[counter].rm_so;
		}
					
  	  	/* This call to regexec() finds the next match */
    	error = regexec (&re, file + arrayOfMatches[counter].rm_eo, 1, &arrayOfMatches[counter+1], REG_NOTBOL);
    	
		counter++;
    }
	
	regfree(&re);
    
    return Matches;

}
and this function is called like this..

Code:
startOfData = search("<title>hi all</title><dummy>sdf</dummy><title>hi everone</title>", "<title>", "start");