Im getting some garbage data after 2 runs, i have no idea why. It always seems to throw in a extra '0'.
Code:int getpackagename(char *package, char **dest) {
int end = ( strlen(package) - 1 );
while(end > 0) {
if( package[end] > 47 && package[end] < 58 ) {
while(package[end] != '-' && end > 0) {
--end;
}
if(package[end+1] == 'r' && package[end+2] == 'c') {
--end;
while(package[end] != '-' && end > 0) {
--end;
}
}
break;
}
--end;
}
*dest = malloc(end + 1);
strncpy(*dest, package, end);
return 0;
}