Try changing declaration rather than casting everything
// can be added to the end of the list.
const struct {
char symbol;
- char *mark;
+ const char *mark;
} morse[] = {
- 'A', (char *)".-",
- 'B', (char *)"-...",
- 'C', (char *)"-.-.",
- 'D', (char *)"-..",
- 'E', (char *)".",
- 'F', (char *)"..-.",
- 'G', (char *)"--.",
- 'H', (char *)"....",
- 'I', (char *)"..",
- 'J', (char *)".---",
- 'K', (char *)"-.-",
- 'L', (char *)".-..",
- 'M', (char *)"--",
- 'N', (char *)"-.",
- 'O', (char *)"---",
- 'P', (char *)".--.",
- 'Q', (char *)"--.-",
- 'R', (char *)".-.",
- 'S', (char *)"...",
- 'T', (char *)"-",
- 'U', (char *)"..-",
- 'V', (char *)"...-",
- 'W', (char *)".--",
- 'X', (char *)"-..-",
- 'Y', (char *)"-.--",
- 'Z', (char *)"--..",
- '0', (char *)"-----",
- '1', (char *)".----",
- '2', (char *)"..---",
- '3', (char *)"...--",
- '4', (char *)"....-",
- '5', (char *)".....",
- '6', (char *)"-....",
- '7', (char *)"--...",
- '8', (char *)"---..",
- '9', (char *)"----.",
- '+', (char *)".-.-.",
- '=', (char *)"-...-",
+ 'A', ".-",
+ 'B', "-...",
+ 'C', "-.-.",
+ 'D', "-..",
+ 'E', ".",
+ 'F', "..-.",
+ 'G', "--.",
+ 'H', "....",
+ 'I', "..",
+ 'J', ".---",
+ 'K', "-.-",
+ 'L', ".-..",
+ 'M', "--",
+ 'N', "-.",
+ 'O', "---",
+ 'P', ".--.",
+ 'Q', "--.-",
+ 'R', ".-.",
+ 'S', "...",
+ 'T', "-",
+ 'U', "..-",
+ 'V', "...-",
+ 'W', ".--",
+ 'X', "-..-",
+ 'Y', "-.--",
+ 'Z', "--..",
+ '0', "-----",
+ '1', ".----",
+ '2', "..---",
+ '3', "...--",
+ '4', "....-",
+ '5', ".....",
+ '6', "-....",
+ '7', "--...",
+ '8', "---..",
+ '9', "----.",
+ '+', ".-.-.",
+ '=', "-...-",
};
#define NUM_SYMBOLS (sizeof morse / sizeof morse[0])
