tools/obexctl: Fix display of size on completion 47/205047/1
authorERAMOTO Masaya <eramoto.masaya@jp.fujitsu.com>
Fri, 9 Feb 2018 09:12:38 +0000 (18:12 +0900)
committerAmit Purwar <amit.purwar@samsung.com>
Mon, 29 Apr 2019 04:17:11 +0000 (09:47 +0530)
Outputs zero as the transferred size on completion of transfer as below:

  [CHG] Transfer /org/bluez/obex/server/session3/transfer2 Transferred: 5339965 (@32KB/s 00:01)
  [CHG] Transfer /org/bluez/obex/server/session3/transfer2 Transferred: 5372726 (@32KB/s 00:00)
  [CHG] Transfer /org/bluez/obex/server/session3/transfer2 Transferred: 0 (@18446744073704178KB/s 00:00)
  [CHG] Transfer /org/bluez/obex/server/session3/transfer2 Status: complete

Change-Id: If1ea05b6126132936037860d9155e190fd87700c
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
tools/obexctl.c

index 8de3cf9..acc4c5e 100755 (executable)
@@ -1862,6 +1862,14 @@ static void print_transferred(struct transfer_data *data, const char *str,
        int seconds, minutes;
 
        dbus_message_iter_get_basic(iter, &valu64);
+
+       /*
+        * Use the file size to output the proper size/speed since obexd resets
+        * the current transferred size to zero on completion of transfer.
+        */
+       if (valu64 == 0)
+               valu64 = data->size;
+
        speed = valu64 - data->transferred;
        data->transferred = valu64;