summaryrefslogtreecommitdiff
path: root/src/libstddjb/strerr_dielsys.c
blob: 5c0e334485cbcb734616e14933d3720ac6d04eee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* ISC license. */

/* MT-unsafe */

#include <stdarg.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>

#include <skalibs/strerr.h>

void strerr_dielsys (int e, unsigned int n, ...)
{
  va_list ap ;
  char const *v[n+1] ;
  va_start(ap, n) ;
  va_arg(ap, unsigned int) ;
  for (unsigned int i = 0 ; i < n ; i++)
    v[i++] = va_arg(ap, char const *) ; 
  va_end(ap) ;
  v[n] = strerror(errno) ;
  strerr_diev(e, v, n+1) ;
}