#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *strrev ( char *str ) {
int i, len=strlen(str);
char *rev = malloc(len+1);
rev[len] = \'\\0\';
for (i=len-1; i>=0; rev[i--]=*str++);
return rev;
}
int main(int argc, char *argv[]) {
if (argc!=2)
puts("Usage: small_palin <string>");
else {
char *str = argv[1];
int i=0, j, len=strlen(str);
while ( strcmp(str+i,strrev(str+i))!=0 )
++i;
char *palin = malloc(len+1+i);
*(palin+len+1+i) = \'\\0\';
strcpy(palin,str);
str[i]=\'\\0\';
strcpy(palin+len,strrev(str));
puts(palin);
}
return 0;
}