summaryrefslogtreecommitdiffstats
path: root/newlib/libc/machine/arm/access.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2004-06-09 19:05:09 +0000
committerJeff Johnston <jjohnstn@redhat.com>2004-06-09 19:05:09 +0000
commita170abec0842d3f027a9ea7f4aa1af9642d21bc7 (patch)
tree481dcced408b1f104d97915fbc7130d4d44e34c3 /newlib/libc/machine/arm/access.c
parentcc24f9b66949336abfc7946a9d3f972bb4402743 (diff)
downloadcygnal-a170abec0842d3f027a9ea7f4aa1af9642d21bc7.tar.gz
cygnal-a170abec0842d3f027a9ea7f4aa1af9642d21bc7.tar.bz2
cygnal-a170abec0842d3f027a9ea7f4aa1af9642d21bc7.zip
2004-06-09 Toralf Lund <toralf@procaptura.com>
* libc/sys/arm/setjmp.S, libc/sys/arm/access.c: Move files from libc/sys/arm to libc/machine/arm. * libc/machine/arm/Makefile.am, libc/machine/arm/Makefile.in: Add library build support for files moved from libc/sys/arm. * libc/sys/arm/Makefile.am, libc/sys/arm/Makefile.in: Remove references to access and setjmp. * configure.host: Add checks for newlib_may_supply_syscalls to determine whether or not to use sys/arm directory and use special compiler flags: ARM_RDI_MONITOR and ARM_RDP_MONITOR.
Diffstat (limited to 'newlib/libc/machine/arm/access.c')
-rw-r--r--newlib/libc/machine/arm/access.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/newlib/libc/machine/arm/access.c b/newlib/libc/machine/arm/access.c
new file mode 100644
index 000000000..8e08b3a7f
--- /dev/null
+++ b/newlib/libc/machine/arm/access.c
@@ -0,0 +1,33 @@
+/* This is file ACCESS.C */
+/*
+ * Copyright (C) 1993 DJ Delorie
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms is permitted
+ * provided that the above copyright notice and following paragraph are
+ * duplicated in all such forms.
+ *
+ * This file is distributed WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+int access(const char *fn, int flags)
+{
+ struct stat s;
+ if (stat(fn, &s))
+ return -1;
+ if (s.st_mode & S_IFDIR)
+ return 0;
+ if (flags & W_OK)
+ {
+ if (s.st_mode & S_IWRITE)
+ return 0;
+ return -1;
+ }
+ return 0;
+}
+