lib: add [SAFE_]FILE_LINES_SCANF

This patch adds 2 macros that try to parse each line from
a file according to user-supplied (scanf) format. First line
that matches all format directives ends the search. If EOF
is reached, SAFE_ version triggers TBROK, non-SAFE_ returns
non-zero retcode to user.

Main motivation is parsing various /proc files, for example:
  if (FILE_LINES_SCANF("/proc/meminfo", "MemFree: %ld", &free))
      do_something();

  SAFE_FILE_LINES_SCANF("/proc/meminfo", "MemFree: %ld", &free);
      // automatically calls TBROK if all directives can't be matched

Signed-off-by: Jan Stancek <jstancek@redhat.com>
Acked-by: Cyril Hrubis <chrubis@suse.cz>
6 files changed