#include <config.h>
-#define _GNU_SOURCE /* for futimens(2) and getline(3) */
-
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
ABS_PATH (path, -1);
CHROOT_IN;
- fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK, 0666);
+ fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY, 0666);
CHROOT_OUT;
if (fd == -1) {
size = strlen (content);
CHROOT_IN;
- fd = open (path, O_WRONLY | O_CREAT | O_NOCTTY | O_NONBLOCK, 0666);
+ fd = open (path, O_WRONLY | O_TRUNC | O_CREAT | O_NOCTTY, 0666);
CHROOT_OUT;
if (fd == -1) {
int r, len, freeit = 0;
char *buf;
- /*NEED_ROOT (NULL); - no: we allow people to run this on /dev devices. */
+ NEED_ROOT_OR_IS_DEVICE (path, NULL);
ABS_PATH (path, NULL);
if (strncmp (path, "/dev/", 5) == 0)