- fix cli arg parse
[oweals/gnunet.git] / src / util / disk.c
index 3027e1b3008075f2e16465bb024f1d07672c2e65..b7ff4c3f416a3b0a29df33ebb7288a10bca5a45c 100644 (file)
@@ -796,7 +796,7 @@ int
 GNUNET_DISK_directory_create_for_file (const char *filename)
 {
   char *rdir;
-  int len;
+  size_t len;
   int ret;
 
   rdir = GNUNET_STRINGS_filename_expand (filename);
@@ -1611,7 +1611,7 @@ GNUNET_DISK_file_lock (struct GNUNET_DISK_FileHandle *fh, off_t lock_start,
  * @param fh file handle
  * @param unlock_start absolute position from where to unlock
  * @param unlock_end absolute position until where to unlock
- * @return GNUNET_OK on success, GNUNET_SYSERR on error
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR on error
  */
 int
 GNUNET_DISK_file_unlock (struct GNUNET_DISK_FileHandle *fh, off_t unlock_start,
@@ -1899,8 +1899,8 @@ GNUNET_DISK_get_handle_from_w32_handle (HANDLE osfh)
      * otherwise we're screwed, as selecting on non-overlapped handle
      * will block.
      */
-    fh->oOverlapRead = GNUNET_malloc (sizeof (OVERLAPPED));
-    fh->oOverlapWrite = GNUNET_malloc (sizeof (OVERLAPPED));
+    fh->oOverlapRead = GNUNET_new (OVERLAPPED);
+    fh->oOverlapWrite = GNUNET_new (OVERLAPPED);
     fh->oOverlapRead->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
     fh->oOverlapWrite->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
   }
@@ -2356,10 +2356,10 @@ GNUNET_DISK_pipe (int blocking_read, int blocking_write, int inherit_read, int i
   p->fd[0]->type = GNUNET_DISK_HANLDE_TYPE_PIPE;
   p->fd[1]->type = GNUNET_DISK_HANLDE_TYPE_PIPE;
 
-  p->fd[0]->oOverlapRead = GNUNET_malloc (sizeof (OVERLAPPED));
-  p->fd[0]->oOverlapWrite = GNUNET_malloc (sizeof (OVERLAPPED));
-  p->fd[1]->oOverlapRead = GNUNET_malloc (sizeof (OVERLAPPED));
-  p->fd[1]->oOverlapWrite = GNUNET_malloc (sizeof (OVERLAPPED));
+  p->fd[0]->oOverlapRead = GNUNET_new (OVERLAPPED);
+  p->fd[0]->oOverlapWrite = GNUNET_new (OVERLAPPED);
+  p->fd[1]->oOverlapRead = GNUNET_new (OVERLAPPED);
+  p->fd[1]->oOverlapWrite = GNUNET_new (OVERLAPPED);
 
   p->fd[0]->oOverlapRead->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
   p->fd[0]->oOverlapWrite->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
@@ -2462,8 +2462,8 @@ GNUNET_DISK_pipe_from_fd (int blocking_read, int blocking_write, int fd[2])
     if (p->fd[0]->h != INVALID_HANDLE_VALUE)
     {
       p->fd[0]->type = GNUNET_DISK_HANLDE_TYPE_PIPE;
-      p->fd[0]->oOverlapRead = GNUNET_malloc (sizeof (OVERLAPPED));
-      p->fd[0]->oOverlapWrite = GNUNET_malloc (sizeof (OVERLAPPED));
+      p->fd[0]->oOverlapRead = GNUNET_new (OVERLAPPED);
+      p->fd[0]->oOverlapWrite = GNUNET_new (OVERLAPPED);
       p->fd[0]->oOverlapRead->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
       p->fd[0]->oOverlapWrite->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
     }
@@ -2480,8 +2480,8 @@ GNUNET_DISK_pipe_from_fd (int blocking_read, int blocking_write, int fd[2])
     if (p->fd[1]->h != INVALID_HANDLE_VALUE)
     {
       p->fd[1]->type = GNUNET_DISK_HANLDE_TYPE_PIPE;
-      p->fd[1]->oOverlapRead = GNUNET_malloc (sizeof (OVERLAPPED));
-      p->fd[1]->oOverlapWrite = GNUNET_malloc (sizeof (OVERLAPPED));
+      p->fd[1]->oOverlapRead = GNUNET_new (OVERLAPPED);
+      p->fd[1]->oOverlapWrite = GNUNET_new (OVERLAPPED);
       p->fd[1]->oOverlapRead->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
       p->fd[1]->oOverlapWrite->hEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
     }
@@ -2635,12 +2635,14 @@ GNUNET_DISK_pipe_handle (const struct GNUNET_DISK_PipeHandle *p,
  * @param fh GNUnet file descriptor
  * @param dst destination buffer
  * @param dst_len length of dst
- * @return GNUNET_OK on success, GNUNET_SYSERR otherwise
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR otherwise
  */
 int
 GNUNET_DISK_internal_file_handle_ (const struct GNUNET_DISK_FileHandle *fh,
                                    void *dst, size_t dst_len)
 {
+  if (NULL == fh)
+    return GNUNET_SYSERR;
 #ifdef MINGW
   if (dst_len < sizeof (HANDLE))
     return GNUNET_SYSERR;