There are a large number of files in the tree that define _GNU_SOURCE
despite not actually using features hidden behind this flag. This patch
removes all these definitions in one fell swoop...
The driver vtables are read-only structures. This patch declares them as
'const' allowing the compiler to (optionally) put them in the RELRO
section. RELRO pages may be marked as read-only by the linker after
the relocations have been done ensuring that they aren't inadvertently
or maliciously altered at runtime.
Before the phonebook is ready, the SIM card needs certain amount of
time. Something between 20-30 seconds in general. So if the modem
returns an error indicating the SIM is busy, then try again in
regular intervals.
This patch was generated by the following semantic patch
(http://coccinelle.lip6.fr/)
// <smpl>
@fix disable is_null,isnt_null1@
expression *E;
@@
- !E
+ E == NULL
// </smpl>
Some modems, like the G1 do not support UCS2/UTF8. However, we can
still attempt to export some phonebook entries which are probably
going to be simple Latin1 characters (e.g. 411, etc)
Use immediate mode reporting, which means that the individual CPBR
lines are reported up to the core immediately. This has a couple
advantages:
- We do not need to malloc/free a bunch of single variables
and copy them over. Helps performance.
- The lines are not buffered up and given to the plugin in one
shot, instead processing is performed piecemeal. This helps
with keeping memory consumption down to a minimum