[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r8584 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r8584 - gnunet/src/util |
Date: |
Mon, 15 Jun 2009 14:36:00 -0600 |
Author: durner
Date: 2009-06-15 14:35:59 -0600 (Mon, 15 Jun 2009)
New Revision: 8584
Modified:
gnunet/src/util/disk.c
Log:
translate GNUNET_DISK_PERM_xxx
Modified: gnunet/src/util/disk.c
===================================================================
--- gnunet/src/util/disk.c 2009-06-15 20:20:34 UTC (rev 8583)
+++ gnunet/src/util/disk.c 2009-06-15 20:35:59 UTC (rev 8584)
@@ -981,17 +981,39 @@
oflags |= O_TRUNC;
if (flags & GNUNET_DISK_OPEN_CREATE)
{
+ int perm;
+
oflags |= O_CREAT;
va_list arg;
va_start (arg, flags);
- mode = va_arg (arg, int);
+ perm = va_arg (arg, int);
va_end (arg);
+
+ mode = 0;
+ if (perm & GNUNET_DISK_PERM_USER_READ)
+ mode = S_IRUSR;
+ if (perm & GNUNET_DISK_PERM_USER_WRITE)
+ mode |= S_IWUSR;
+ if (perm & GNUNET_DISK_PERM_USER_EXEC)
+ mode |= S_IXUSR;
+ if (perm & GNUNET_DISK_PERM_GROUP_READ)
+ mode = S_IRGRP;
+ if (perm & GNUNET_DISK_PERM_GROUP_WRITE)
+ mode |= S_IWGRP;
+ if (perm & GNUNET_DISK_PERM_GROUP_EXEC)
+ mode |= S_IXGRP;
+ if (perm & GNUNET_DISK_PERM_OTHER_READ)
+ mode = S_IROTH;
+ if (perm & GNUNET_DISK_PERM_OTHER_WRITE)
+ mode |= S_IWOTH;
+ if (perm & GNUNET_DISK_PERM_OTHER_EXEC)
+ mode |= S_IXOTH;
}
if (flags & GNUNET_DISK_OPEN_APPEND)
oflags = O_APPEND;
-s fd = open (expfn, oflag | O_LARGEFILE, perm, mode);
+ fd = open (expfn, oflags | O_LARGEFILE, mode);
if (fd == -1)
{
GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_WARNING, "open", fn);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r8584 - gnunet/src/util,
gnunet <=