All pastes #1979543 Raw Edit

Mine

public c v1 · immutable
#1979543 ·published 2010-11-02 12:43 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>char* selectChars(char* from, int (*what)(int), int (*where)(int)){	char* str = (char*)malloc(sizeof(char)*(strlen(from) + 1));	char* ptr = str;	while (*from != '\0')	{		if ((*where)(*from))		{			*ptr++ = (what == NULL) ? *from : (*what)(*from);		}		from++;	}	*ptr = '\0';	return str;}int main(int argc, char** argv){	if (argc < 2)	{		puts("Come back with args.");		return 0;	}	else	{		char* str = selectChars(argv[1], tolower, isalpha);		char* start_longest = str;		char* end_longest = str;		char* longest;		char* ptr = str;		int longest_length = 1;		int odds = 0;		while (*ptr != '\0')		{			char* start = ptr - 1;			char* end = ptr;			int length = 0;			if (odds)			{				end++;				length++;				ptr++;			}			odds = !odds;			while (start >= str && *end != '\0' && *start == *end)			{				length += 2;				start--;				end++;			}			if (length > longest_length)			{				start_longest = start + 1;				end_longest = end - 1;				longest_length = length;			}		}		longest = (char*)malloc(sizeof(char)*(longest_length + 1));		ptr = longest;		while (start_longest <= end_longest)		{			*ptr = *start_longest;			start_longest++;			ptr++;		}		*ptr = '\0';		printf("\"%s\", length: %d\n", longest, longest_length);		free(str);		free(longest);		return 0;	}}