Sfoglia il codice sorgente

fix incorrect void return type for syncfs function

being nonstandard, the closest thing to a specification for this
function is its man page, which documents it as returning int. it can
fail with EBADF if the file descriptor passed is invalid.
Rich Felker 10 anni fa
parent
commit
11894f6d3a
2 ha cambiato i file con 3 aggiunte e 3 eliminazioni
  1. 1 1
      include/unistd.h
  2. 2 2
      src/linux/syncfs.c

+ 1 - 1
include/unistd.h

@@ -185,7 +185,7 @@ int setresgid(gid_t, gid_t, gid_t);
 int getresuid(uid_t *, uid_t *, uid_t *);
 int getresgid(gid_t *, gid_t *, gid_t *);
 char *get_current_dir_name(void);
-void syncfs(int);
+int syncfs(int);
 int euidaccess(const char *, int);
 int eaccess(const char *, int);
 #endif

+ 2 - 2
src/linux/syncfs.c

@@ -2,7 +2,7 @@
 #include <unistd.h>
 #include "syscall.h"
 
-void syncfs(int fd)
+int syncfs(int fd)
 {
-	__syscall(SYS_syncfs, fd);
+	return syscall(SYS_syncfs, fd);
 }