• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Keine Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Revision373a21c2df7aaa1c668a014c86181bbbd0650777 (tree)
Zeit2021-12-24 08:29:56
AutorYann Sionneau <ysionneau@kalr...>
CommiterWaldemar Brodkorb

Log Message

Fix some warnings due to type issues

Fixes those two warnings:

In file included from <command-line>:
libc/sysdeps/linux/common/openat64.c:18:33: warning: 'openat64' alias between functions of incompatible types 'int(int, const char *, int, ...)' and 'int(int, const char *, int, mode_t)' {aka 'int(int, const char *, int, unsigned int)'} [-Wattribute-alias=]

18 | strong_alias_untyped(openat64,openat64)
| ~

./include/libc-symbols.h:177:31: note: in definition of macro '_strong_alias_untyped'

177 | extern typeof (aliasname) aliasname attribute ((alias (#name))) attribute_copy (name);
|

libc/sysdeps/linux/common/openat64.c:18:1: note: in expansion of macro 'strong_alias_untyped'

18 | strong_alias_untyped(openat64,openat64)
| ~

libc/sysdeps/linux/common/openat64.c:14:12: note: aliased declaration here

14 | static int openat64(int fd, const char *file, int oflag, mode_t mode)
| ~

and

CC libc/sysdeps/linux/common/stat.os

libc/sysdeps/linux/common/stat.c: In function 'stat':
libc/sysdeps/linux/common/stat.c:28:40: warning: passing argument 3 of 'fstatat64' from incompatible pointer type [-Wincompatible-pointer-types]

28 | return fstatat64(AT_FDCWD, file_name, buf, 0);
|
| |
| struct stat *

In file included from libc/sysdeps/linux/common/stat.c:11:
./include/sys/stat.h:258:35: note: expected 'struct stat64 * restrict' but argument is of type 'struct stat *'

258 | struct stat64 *restrict buf, int flag)
|

Signed-off-by: Yann Sionneau <ysionneau@kalray.eu>

Ändern Zusammenfassung

Diff

--- a/libc/sysdeps/linux/common/openat64.c
+++ b/libc/sysdeps/linux/common/openat64.c
@@ -9,10 +9,18 @@
99 #include <_lfs_64.h>
1010 #include <sys/syscall.h>
1111 #include <fcntl.h>
12+#include <stdarg.h>
1213
1314 #ifdef __NR_openat
14-static int __openat64(int fd, const char *file, int oflag, mode_t mode)
15+static int __openat64(int fd, const char *file, int oflag, ...)
1516 {
17+ va_list ap;
18+ mode_t mode;
19+
20+ va_start(ap, oflag);
21+ mode = va_arg(ap, int);
22+ va_end(ap);
23+
1624 return openat(fd, file, oflag | O_LARGEFILE, mode);
1725 }
1826 strong_alias_untyped(__openat64,openat64)
--- a/libc/sysdeps/linux/common/stat.c
+++ b/libc/sysdeps/linux/common/stat.c
@@ -25,7 +25,7 @@ int stat(const char *file_name, struct stat *buf)
2525
2626 int stat(const char *file_name, struct stat *buf)
2727 {
28- return fstatat64(AT_FDCWD, file_name, buf, 0);
28+ return fstatat64(AT_FDCWD, file_name, (struct stat64 *)buf, 0);
2929 }
3030 #elif __NR_statx && defined __UCLIBC_HAVE_STATX__
3131 # include <fcntl.h>