Hi there,
I know pointers are messy, but can someone tell me what is wrong with this code. Do I need to use malloc, calloc, etc to initialize my char*?
By the way, is there an easier way to return and array of char?
code:
char *cg_date (int t)
{
char *gtm;
int day = t & 0x001F;
int month = (t >> 5) & 0x000F;
int year = ((t >> 9) & 0x007F) + 1980;
switch (month)
{
case 1:
strcpy (gtm, "Jan");
break;
case 2:
strcpy (gtm, "Feb");
break;
case 3:
strcpy (gtm, "Mar");
break;
case 4:
strcpy (gtm, "Apr");
break;
case 5:
strcpy (gtm, "May");
break;
case 6:
strcpy (gtm, "Jun");
break;
case 7:
strcpy (gtm, "Jul");
break;
case 8:
strcpy (gtm, "Aug");
break;
case 9:
strcpy (gtm, "Sep");
break;
case 10:
strcpy (gtm, "Oct");
break;
case 11:
strcpy (gtm, "Nov");
break;
case 12:
strcpy (gtm, "Dec");
break;
default:
strcpy (gtm, "Err");
break;
}
return gtm;
}
Thanks