* `RFKILL_EVENT_SIZE_V1` is defined as sizeof(struct rfkill_event), so let's use %zu
* cast `len` to size_t to make it usable with %zu
Signed-off-by: Karel Zak <kzak@redhat.com>
>>> CID 365738: Uninitialized variables (UNINIT)
>>> Using uninitialized value "ret". Field "ret" is uninitialized.
326 return ret;
Signed-off-by: Karel Zak <kzak@redhat.com>
Without this two error messages are printed when rfkill device
cannot be opened.
$ rfkill
rfkill: cannot open /dev/rfkill: No such file or directory
rfkill: cannot read /dev/rfkill: Bad file descriptor
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
The POSIX standard states that poll(3P) is being made available by
<poll.h>, not <sys/poll.h>. Most commands already include the correct
header, with the exception of rfkill. Fix that to avoid a warning on
musl-based systems.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
As discussed last year it's nice to be compatible to 2.6.32
https://www.spinics.net/lists/util-linux-ng/msg13963.html
BTW also re-define NUM_RFKILL_TYPES if needed, although we are
not really using it.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
* Start the ISO format flags at bit 0 instead of bit 1.
* Remove unnecessary _8601 from ISO format flag names to
avoid line wrapping and to ease readability.
* ISO timestamps have date-time-timzone in common, so move
the TIMEZONE flag to bit 2 causing all timestamp masks
to have the first three bits set and the last four bits
as timestamp 'options'.
* Change the 'SPACE' flag to a 'T' flag, because it makes
the code and comments more concise.
* Add common ISO timestamp masks.
* Implement the ISO timestamp masks in all applicable code
using the strxxx_iso() functions.
Signed-off-by: J William Piggott <elseifthen@gmx.com>
Attempt to fsync() this device returns EINVAL, causing the rfkill always to
return EXIT_FAILURE when either block or unblock is requested. Simply
closing the file descriptor will fix the issue.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
There is no reason why multiple arguments could not be supported.
Most common use case is to do multiple control commands in one go without us
of 'all' argument that can cause unnecessary connection breakage. For
example someone might want to add to a system initialization following
commands.
rfkill block bluetooth uwb wimax wwan gps fm nfc
That will ensure everything but wifi is turned off with as few commands as
possible, without killing wifi at any point.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Earlier all commands happily accepted without detecting failure when
none-existing id number was used. For example:
$ rfkill block 2017; echo $?
0
The same input after this change looks following.
$ rfkill block 2017; echo $?
rfkill: invalid identifier: 2017
1
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This should help when trying to explain what or who is flicking wireles on
or off. Notice that the change is not perfect - if rfkill command is
setting a state that is already set the syslog entry is sent eventhough
there was no effective change.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This also makes the rfkill to output status when executed without arguments.
That is believed ot be more useful than usage() output.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Read error should be impossible, but when one does happen user certainly
wants to know about that rather than see even more strange issue caused
random data in name variable.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Stop using RFKILL_IS_INVALID a marker when rfkill is iterating over all
devices. Addition of RFKIL_IS_ALL should make this a lot easier to digest,
especially if reading code in hurry.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Use the usual facilities, add translation strings, move global variables at
the beginning of the file, make usage() look as expected, add standard
command-line option parsing.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Also remove unnecessary items. Notice that the licence text from COPYING is
moved to top of the command in comment section.
Signed-off-by: Sami Kerola <kerolasa@iki.fi>