OSDN Git Service

obexd: Remove transferred file only if the GET operation failed
authorChristian Fetzer <christian.fetzer@bmw-carit.de>
Fri, 11 Jan 2013 15:55:57 +0000 (16:55 +0100)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 14 Jan 2013 15:42:06 +0000 (17:42 +0200)
Since 9606375649e12f1b9f302bbb5bb8f87957387ddd xfer_complete() sets the
transfer status rather than the size. Adapt obc_transfer_free to check
for the completed status to avoid deletion of completed transfers.

obexd/client/transfer.c

index 541f405..427eab7 100644 (file)
@@ -327,7 +327,8 @@ static void obc_transfer_free(struct obc_transfer *transfer)
        }
 
        if (transfer->op == G_OBEX_OP_GET &&
-                                       transfer->transferred != transfer->size)
+                               transfer->status != TRANSFER_STATUS_COMPLETE &&
+                               transfer->filename)
                remove(transfer->filename);
 
        if (transfer->fd > 0)