]> granicus.if.org Git - strace/blobdiff - open.c
tests: move F_OFD_SETLK* checks from fcntl64.c to fcntl-common.c
[strace] / open.c
diff --git a/open.c b/open.c
index 222965b84694dfffd3ef95e011df2ee390517352..fde21cccd59223c7121ddbbd6734fdcb797aa164 100644 (file)
--- a/open.c
+++ b/open.c
@@ -7,7 +7,7 @@
  * Copyright (c) 2006-2007 Ulrich Drepper <drepper@redhat.com>
  * Copyright (c) 2009-2013 Denys Vlasenko <dvlasenk@redhat.com>
  * Copyright (c) 2005-2015 Dmitry V. Levin <ldv@altlinux.org>
- * Copyright (c) 2014-2017 The strace developers.
+ * Copyright (c) 2014-2018 The strace developers.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  */
 
 #include "defs.h"
+#include "xstring.h"
 
-#include <fcntl.h>
+#include <asm/fcntl.h>
 
 /* some libcs are guilty of messing up with O_ACCMODE */
 #undef O_ACCMODE
 #define O_ACCMODE 03
 
 #ifdef O_LARGEFILE
-# if O_LARGEFILE == 0          /* biarch platforms in 64-bit mode */
+# if O_LARGEFILE == 0          /* biarch platforms in 64-bit mode */
 #  undef O_LARGEFILE
-#  ifdef SPARC64
-#   define O_LARGEFILE 0x40000
-#  elif defined X86_64 || defined S390X
-#   define O_LARGEFILE 0100000
-#  endif
 # endif
 #endif
 
@@ -56,7 +52,7 @@
 #include "xlat/open_mode_flags.h"
 
 #ifndef AT_FDCWD
-# define AT_FDCWD                -100
+# define AT_FDCWD      -100
 #endif
 
 /* The fd is an "int", so when decoding x86 on x86_64, we need to force sign
@@ -66,11 +62,11 @@ void
 print_dirfd(struct tcb *tcp, int fd)
 {
        if (fd == AT_FDCWD)
-               tprints("AT_FDCWD, ");
-       else {
+               print_xlat_d(AT_FDCWD);
+       else
                printfd(tcp, fd);
-               tprints(", ");
-       }
+
+       tprints(", ");
 }
 
 /*
@@ -110,14 +106,15 @@ sprint_open_modes(unsigned int flags)
        }
        /* flags is still nonzero */
        *p++ = sep;
-       sprintf(p, "%#x", flags);
+       p = xappendstr(outstr, p, "%#x", flags);
        return outstr;
 }
 
 void
 tprint_open_modes(unsigned int flags)
 {
-       tprints(sprint_open_modes(flags) + sizeof("flags"));
+       print_xlat_ex(flags, sprint_open_modes(flags) + sizeof("flags"),
+                     XLAT_STYLE_DEFAULT);
 }
 
 #ifdef O_TMPFILE