#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define FAIL -1
#define OK 0
#define TRUE 1
#define FALSE 0

/* Determina se una stringa e' palindroma.
 * s una stringa
 * Restituisce: TRUE se la stringa s e' palindroma, FALSE altrimenti
 */
int palindroma(char *s);

int main(int argc, char **argv){
	char *s;
	/* Verifica la presenza di un argomento */
	if (argc<2) return FAIL; 
	s=argv[1];
	if(palindroma(s))
		printf("\"%s\" e' palindroma\n", s);
	else
		printf("\"%s\" non e' palindroma\n", s);
	return OK;
}

char *reverse(char *s);

int palindroma(char *s){
    int res;
    char *rev=reverse(s);
    printf("%s==%s?\n", s, rev);
	res=strcmp(s,rev);
    free(rev);
    if(res==0) return TRUE;
	else return FALSE;
}

char *reverse(char *s){
	int i,l;
	char *r=strdup(s);
	l=strlen(s);
	for(i=0; i<l; i++)
		r[i]=s[l-i-1];
	return r;
}
