File: sd_bus_error-example.c

package info (click to toggle)
systemd-udeb 259-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 104,120 kB
  • sloc: ansic: 726,480; xml: 121,118; python: 35,852; sh: 33,447; cpp: 946; awk: 102; makefile: 89; lisp: 13; sed: 1
file content (18 lines) | stat: -rw-r--r-- 604 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* SPDX-License-Identifier: MIT-0 */

#include <errno.h>
#include <string.h>
#include <unistd.h>
#include <systemd/sd-bus.h>

int writer_with_negative_errno_return(int fd, sd_bus_error *error) {
  const char *message = "Hello, World!\n";

  ssize_t n = write(fd, message, strlen(message));
  if (n >= 0)
    return n; /* On success, return the number of bytes written, possibly 0. */

  /* On error, initialize the error structure, and also propagate the errno
   * value that write(2) set for us. */
  return sd_bus_error_set_errnof(error, errno, "Failed to write to fd %i: %s", fd, strerror(errno));
}