# HG changeset patch # User Elliott Sales de Andrade # Date 1318739892 0 # Node ID 5525312cf589dc0f6c74db984366b061226cb1df # Parent 8b7c7c6bf98581823ea1d16e929fd7531e0b458d Upgrade PurpleXfer for a 64-bit world. Prpls and UIs still need to handle this properly though. Refs #1185. Refs #8477. diff -r 8b7c7c6bf985 -r 5525312cf589 ChangeLog.API --- a/ChangeLog.API Sun Oct 16 03:03:39 2011 +0000 +++ b/ChangeLog.API Sun Oct 16 04:38:12 2011 +0000 @@ -84,15 +84,25 @@ * purple_notify_user_info_prepend_pair renamed to purple_notify_user_info_prepend_pair_html * purple_srv_resolve now takes a PurpleAccount as the first parameter + * purple_str_size_to_units now takes a goffset as the size parameter * purple_txt_resolve now takes a PurpleAccount as the first parameter * purple_util_fetch_url_request now takes a PurpleAccount as the first parameter * purple_util_fetch_url_request now takes a length as the eighth parameter * purple_util_fetch_url_len now takes a length as the fifth parameter + * purple_xfer_get_bytes_remaining now returns a goffset + * purple_xfer_get_bytes_sent now returns a goffset + * purple_xfer_get_size now returns a goffset * purple_xfer_is_canceled renamed to purple_xfer_is_cancelled + * purple_xfer_set_bytes_sent now takes a goffset as the bytes_sent + parameter + * purple_xfer_set_size now takes a goffset as the size parameter * PurpleConnectionUiOps.report_disconnect now passes a PurpleConnectionError as the second parameter + * PurpleXfer.bytes_remaining is now a goffset + * PurpleXfer.bytes_sent is now a goffset + * PurpleXfer.size is now a goffset Removed: * _GntFileType diff -r 8b7c7c6bf985 -r 5525312cf589 libpurple/ft.c --- a/libpurple/ft.c Sun Oct 16 03:03:39 2011 +0000 +++ b/libpurple/ft.c Sun Oct 16 04:38:12 2011 +0000 @@ -490,7 +490,7 @@ purple_xfer_ask_recv(PurpleXfer *xfer) { char *buf, *size_buf; - size_t size; + goffset size; gconstpointer thumb; gsize thumb_size; @@ -801,7 +801,7 @@ return xfer->local_filename; } -size_t +goffset purple_xfer_get_bytes_sent(const PurpleXfer *xfer) { g_return_val_if_fail(xfer != NULL, 0); @@ -809,7 +809,7 @@ return xfer->bytes_sent; } -size_t +goffset purple_xfer_get_bytes_remaining(const PurpleXfer *xfer) { g_return_val_if_fail(xfer != NULL, 0); @@ -817,7 +817,7 @@ return xfer->bytes_remaining; } -size_t +goffset purple_xfer_get_size(const PurpleXfer *xfer) { g_return_val_if_fail(xfer != NULL, 0); @@ -965,7 +965,7 @@ } void -purple_xfer_set_size(PurpleXfer *xfer, size_t size) +purple_xfer_set_size(PurpleXfer *xfer, goffset size) { g_return_if_fail(xfer != NULL); @@ -982,7 +982,7 @@ } void -purple_xfer_set_bytes_sent(PurpleXfer *xfer, size_t bytes_sent) +purple_xfer_set_bytes_sent(PurpleXfer *xfer, goffset bytes_sent) { g_return_if_fail(xfer != NULL); diff -r 8b7c7c6bf985 -r 5525312cf589 libpurple/ft.h --- a/libpurple/ft.h Sun Oct 16 03:03:39 2011 +0000 +++ b/libpurple/ft.h Sun Oct 16 04:38:12 2011 +0000 @@ -140,7 +140,7 @@ char *message; /**< A message sent with the request */ char *filename; /**< The name sent over the network. */ char *local_filename; /**< The name on the local hard drive. */ - size_t size; /**< The size of the file. */ + goffset size; /**< The size of the file. */ FILE *dest_fp; /**< The destination file pointer. */ @@ -151,8 +151,8 @@ int fd; /**< The socket file descriptor. */ int watcher; /**< Watcher. */ - size_t bytes_sent; /**< The number of bytes sent. */ - size_t bytes_remaining; /**< The number of bytes remaining. */ + goffset bytes_sent; /**< The number of bytes sent. */ + goffset bytes_remaining; /**< The number of bytes remaining. */ time_t start_time; /**< When the transfer of data began. */ time_t end_time; /**< When the transfer of data ended. */ @@ -358,7 +358,7 @@ * * @return The number of bytes sent. */ -size_t purple_xfer_get_bytes_sent(const PurpleXfer *xfer); +goffset purple_xfer_get_bytes_sent(const PurpleXfer *xfer); /** * Returns the number of bytes remaining to send or receive. @@ -367,7 +367,7 @@ * * @return The number of bytes remaining. */ -size_t purple_xfer_get_bytes_remaining(const PurpleXfer *xfer); +goffset purple_xfer_get_bytes_remaining(const PurpleXfer *xfer); /** * Returns the size of the file being sent or received. @@ -376,7 +376,7 @@ * * @return The total size of the file. */ -size_t purple_xfer_get_size(const PurpleXfer *xfer); +goffset purple_xfer_get_size(const PurpleXfer *xfer); /** * Returns the current percentage of progress of the transfer. @@ -496,7 +496,7 @@ * @param xfer The file transfer. * @param size The size of the file. */ -void purple_xfer_set_size(PurpleXfer *xfer, size_t size); +void purple_xfer_set_size(PurpleXfer *xfer, goffset size); /** * Sets the local port of the file transfer. @@ -519,7 +519,7 @@ * send. If we're receiving a file, this is the * next byte that we expect to receive. */ -void purple_xfer_set_bytes_sent(PurpleXfer *xfer, size_t bytes_sent); +void purple_xfer_set_bytes_sent(PurpleXfer *xfer, goffset bytes_sent); /** * Returns the UI operations structure for a file transfer. @@ -848,3 +848,4 @@ #endif #endif /* _PURPLE_FT_H_ */ + diff -r 8b7c7c6bf985 -r 5525312cf589 libpurple/util.c --- a/libpurple/util.c Sun Oct 16 03:03:39 2011 +0000 +++ b/libpurple/util.c Sun Oct 16 04:38:12 2011 +0000 @@ -3331,9 +3331,9 @@ } char * -purple_str_size_to_units(size_t size) +purple_str_size_to_units(goffset size) { - static const char * const size_str[] = { "bytes", "KiB", "MiB", "GiB" }; + static const char * const size_str[] = { "bytes", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB" }; float size_mag; int size_index = 0; @@ -3346,7 +3346,7 @@ else { size_mag = (float)size; - while ((size_index < 3) && (size_mag > 1024)) { + while ((size_index < G_N_ELEMENTS(size_str) - 1) && (size_mag > 1024)) { size_mag /= 1024; size_index++; } diff -r 8b7c7c6bf985 -r 5525312cf589 libpurple/util.h --- a/libpurple/util.h Sun Oct 16 03:03:39 2011 +0000 +++ b/libpurple/util.h Sun Oct 16 04:38:12 2011 +0000 @@ -1091,7 +1091,7 @@ * * @return The string in units form. This must be freed. */ -char *purple_str_size_to_units(size_t size); +char *purple_str_size_to_units(goffset size); /** * Converts seconds into a human-readable form.