annotate target-utils/buzplayer/main.c @ 965:2969032bdfac

fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing The only 100% safe way to pass a NULL pointer as a function argument in K&R C is to cast 0 to a pointer type; failing to do so may cause mysterious bugs (invalid stack frames or garbage in argument registers) on 64-bit machines. This issue has already been fixed in most of FC host tools, but I just found some missed spots: passing of NULL UDH to PDU encoding functions in fcup-smsend[mult] in the case of single (not concatenated) SMS.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 01 Sep 2023 07:33:51 +0000
parents 9092ff68e37d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
76
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #include "types.h"
79
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
2 #include "melody.h"
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
3
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
4 extern char _end[];
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
5
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
6 struct melentry *melody_buf_start, *melody_buf_tailptr;
823
9092ff68e37d buzplayer: implement PWT mode melody entry
Mychaela Falconia <falcon@freecalypso.org>
parents: 79
diff changeset
7 int melody_mode;
76
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 main()
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 {
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 uart_select_init();
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 printf("FreeCalypso buzzer player running\n");
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 print_boot_rom_info();
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 *(volatile u16 *)0xfffe4806 = 0xFFF3; /* enable ARMIO clock */
77
0f11da299b7d buzplayer: beginning of timer implementation
Mychaela Falconia <falcon@freecalypso.org>
parents: 76
diff changeset
15 timer_init();
79
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
16 melody_buf_start = (struct melentry *) _end;
49d2684805b1 buzplayer: melody buffer implemented
Mychaela Falconia <falcon@freecalypso.org>
parents: 77
diff changeset
17 melody_buf_tailptr = melody_buf_start;
76
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 for (;;) {
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 putchar('=');
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 if (command_entry())
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 command_dispatch();
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }
5bbba2cab6f3 target-utils: buzplayer started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 }