/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to plugins.d/askpass-fifo.c

  • Committer: teddy at bsnet
  • Date: 2011-12-25 00:43:51 UTC
  • Revision ID: teddy@fukt.bsnet.se-20111225004351-3hw3msbs8ooesltd
Removed implemented TODO entry

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 * along with this program.  If not, see
20
20
 * <http://www.gnu.org/licenses/>.
21
21
 * 
22
 
 * Contact the authors at <mandos@fukt.bsnet.se>.
 
22
 * Contact the authors at <mandos@recompile.se>.
23
23
 */
24
24
 
25
25
#define _GNU_SOURCE             /* TEMP_FAILURE_RETRY() */
32
32
                                   ENFILE, ENOMEM, EBADF, EINVAL, EIO,
33
33
                                   EISDIR, EFBIG */
34
34
#include <error.h>              /* error() */
35
 
#include <stdio.h>              /* fprintf(), vfprintf(), vasprintf() */
 
35
#include <stdio.h>              /* fprintf(), vfprintf(),
 
36
                                   vasprintf() */
36
37
#include <stdlib.h>             /* EXIT_FAILURE, NULL, size_t, free(),
37
38
                                   realloc(), EXIT_SUCCESS */
38
39
#include <fcntl.h>              /* open(), O_RDONLY */
45
46
 
46
47
 
47
48
/* Function to use when printing errors */
48
 
void error_plus(int status, int errnum, const char *formatstring, ...){
 
49
__attribute__((format (gnu_printf, 3, 4)))
 
50
void error_plus(int status, int errnum, const char *formatstring,
 
51
                ...){
49
52
  va_list ap;
50
53
  char *text;
51
54
  int ret;
53
56
  va_start(ap, formatstring);
54
57
  ret = vasprintf(&text, formatstring, ap);
55
58
  if (ret == -1){
56
 
    fprintf(stderr, "Mandos plugin %s: ", program_invocation_short_name);
 
59
    fprintf(stderr, "Mandos plugin %s: ",
 
60
            program_invocation_short_name);
57
61
    vfprintf(stderr, formatstring, ap);
58
62
    fprintf(stderr, ": ");
59
63
    fprintf(stderr, "%s\n", strerror(errnum));