*/
struct GNUNET_DISK_PipeHandle *GNUNET_DISK_pipe (int blocking);
+
/**
* Closes an interprocess channel
* @param p pipe
*/
int GNUNET_DISK_pipe_close (struct GNUNET_DISK_PipeHandle *p);
+
/**
* Close an open file.
*
*/
int GNUNET_DISK_file_close (struct GNUNET_DISK_FileHandle *h);
+
/**
* Get the handle to a particular pipe end
* @param p pipe
* @param h handle to open file
* @param buffer the data to write
* @param n number of bytes to write
- * @return GNUNET_OK on success, GNUNET_SYSERR on error
+ * @return number of bytes written on success, GNUNET_SYSERR on error
*/
ssize_t GNUNET_DISK_file_write (const struct GNUNET_DISK_FileHandle *h,
const void *buffer,
else
{
trust = htonl (host->trust);
- if (GNUNET_OK == GNUNET_DISK_fn_write (fn, &trust, sizeof(uint32_t),
- GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE
- | GNUNET_DISK_PERM_GROUP_READ | GNUNET_DISK_PERM_OTHER_READ))
+ if (sizeof(uint32_t) == GNUNET_DISK_fn_write (fn, &trust,
+ sizeof(uint32_t),
+ GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE
+ | GNUNET_DISK_PERM_GROUP_READ | GNUNET_DISK_PERM_OTHER_READ))
host->disk_trust = host->trust;
}
GNUNET_free (fn);
* @param buffer the data to write
* @param n number of bytes to write
* @param mode file permissions
- * @return GNUNET_OK on success, GNUNET_SYSERR on error
+ * @return number of bytes written on success, GNUNET_SYSERR on error
*/
ssize_t
GNUNET_DISK_fn_write (const char * fn, const void *buffer,
enum GNUNET_DISK_AccessPermissions mode)
{
struct GNUNET_DISK_FileHandle *fh;
- int ret;
+ ssize_t ret;
fh = GNUNET_DISK_file_open (fn,
GNUNET_DISK_OPEN_WRITE
| GNUNET_DISK_OPEN_CREATE, mode);
if (!fh)
return GNUNET_SYSERR;
- ret = (n == GNUNET_DISK_file_write (fh, buffer, n)) ? GNUNET_OK : GNUNET_SYSERR;
+ ret = GNUNET_DISK_file_write (fh, buffer, n);
GNUNET_assert(GNUNET_OK == GNUNET_DISK_file_close(fh));
-
return ret;
}
off + 1],
size,
GNUNET_CONTAINER_META_DATA_SERIALIZE_FULL));
- GNUNET_DISK_fn_write (fn, buf, tag, GNUNET_DISK_PERM_USER_READ
- | GNUNET_DISK_PERM_USER_WRITE | GNUNET_DISK_PERM_GROUP_READ);
+ GNUNET_break
+ (tag != GNUNET_DISK_fn_write (fn, buf, tag, GNUNET_DISK_PERM_USER_READ
+ | GNUNET_DISK_PERM_USER_WRITE | GNUNET_DISK_PERM_GROUP_READ));
GNUNET_free (fn);
GNUNET_free (buf);
/* create entry for pseudonym name in names */
char tmp[100 + 1];
int ret;
- if (GNUNET_OK != GNUNET_DISK_fn_write (".testfile", TESTSTRING, strlen (
- TESTSTRING), GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE))
+ if (strlen(TESTSTRING) !=
+ GNUNET_DISK_fn_write (".testfile", TESTSTRING,
+ strlen (TESTSTRING),
+ GNUNET_DISK_PERM_USER_READ | GNUNET_DISK_PERM_USER_WRITE))
return 1;
if (GNUNET_OK != GNUNET_DISK_file_test (".testfile"))
return 1;