Hey, These patches do not seem to have been sent to spice-devel@ before commit? Christophe On Wed, Jul 17, 2013 at 11:53:25AM -0700, Marc-André Lureau wrote: > spice-protocol | 2 - > vdagent/desktop_layout.cpp | 4 +-- > vdagent/display_setting.cpp | 2 - > vdagent/file_xfer.cpp | 58 +++++++++++++++++++++++++------------------- > vdagent/vdagent.cpp | 42 +++++++++++++++---------------- > 5 files changed, 58 insertions(+), 50 deletions(-) > > New commits: > commit ad61eec9611ede0b74c577a3426670eb13bde7d0 > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:52:17 2013 +0200 > > Fix cast BOOL->PVOID warning > > vdagent/display_setting.cpp:469:50: warning: cast to pointer from > integer of different size [-Wint-to-pointer-cast] > if (!SystemParametersInfo(action, 0, (PVOID)param, 0)) { > > diff --git a/vdagent/display_setting.cpp b/vdagent/display_setting.cpp > index fdf5a31..1ec7397 100644 > --- a/vdagent/display_setting.cpp > +++ b/vdagent/display_setting.cpp > @@ -466,7 +466,7 @@ bool DisplaySetting::reload_win_animation(HKEY desktop_reg_key) > > bool DisplaySetting::set_bool_system_parameter_info(int action, BOOL param) > { > - if (!SystemParametersInfo(action, 0, (PVOID)param, 0)) { > + if (!SystemParametersInfo(action, 0, (PVOID)(uintptr_t)param, 0)) { > vd_printf("SystemParametersInfo %d: failed %lu", action, GetLastError()); > return false; > } > commit fc1de85b499759576fa52dfd20496bfb887c8295 > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:49:01 2013 +0200 > > Fix wrong size_t printf format > > vdagent/desktop_layout.cpp:121:763: warning: format '%u' expects > argument of type 'unsigned int', but argument 8 has type > 'std::vector<DisplayMode*>::size_type {aka long long unsigned int}' > [-Wformat=] > > diff --git a/vdagent/desktop_layout.cpp b/vdagent/desktop_layout.cpp > index ce259e1..7850e6d 100644 > --- a/vdagent/desktop_layout.cpp > +++ b/vdagent/desktop_layout.cpp > @@ -118,7 +118,7 @@ void DesktopLayout::set_displays() > break; > } > if (display_id >= _displays.size()) { > - vd_printf("display_id %lu out of range, #displays %u", display_id, _displays.size()); > + vd_printf("display_id %lu out of range, #displays %zu" , display_id, _displays.size()); > break; > } > if (!init_dev_mode(dev_info.DeviceName, &dev_mode, _displays.at(display_id), true)) { > commit 492ee05a6bd92acc94557a129cd609d66785dac2 > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:43:41 2013 +0200 > > Replace sscanf_s by sscanf > > The _s functions need a recent msvcrt version, not shipped in XP by > default. > > Furthermore, it appears that their sscanf_s usage was missing the extra > buffer size argument. > > diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp > index 9d2f3c5..84f6043 100644 > --- a/vdagent/file_xfer.cpp > +++ b/vdagent/file_xfer.cpp > @@ -182,7 +182,7 @@ bool FileXfer::g_key_get_string(char* data, const char* group, const char* key, > next_group_pos = strstr(group_pos + strlen(group_pfx), "["); > if (next_group_pos && key_pos > next_group_pos) return false; > > - return !!sscanf_s(key_pos + strlen(key_pfx), "%s\n", value); > + return !!sscanf(key_pos + strlen(key_pfx), "%s\n", value); > } > > bool FileXfer::g_key_get_uint64(char* data, const char* group, const char* key, uint64_t* value) > @@ -190,5 +190,5 @@ bool FileXfer::g_key_get_uint64(char* data, const char* group, const char* key, > char str[G_KEY_MAX_LEN]; > > if (!g_key_get_string(data, group, key, str)) return false; > - return !!sscanf_s(str, "%llu", value); > + return !!sscanf(str, "%" PRIu64, value); > } > commit 5129f33899805b55915e506d392c89421db538a2 > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:43:14 2013 +0200 > > Add suggested parentheses > > vdagent/vdagent.cpp: In member function 'void > VDAgent::on_clipboard_grab()': > vdagent/vdagent.cpp:951:52: warning: suggest parentheses around > assignment used as truth value [-Wparentheses] > > diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp > index 73ca39c..260ee40 100644 > --- a/vdagent/vdagent.cpp > +++ b/vdagent/vdagent.cpp > @@ -948,7 +948,7 @@ void VDAgent::on_clipboard_grab() > set_clipboard_owner(owner_guest); > } else { > UINT format = 0; > - while (format = EnumClipboardFormats(format)) { > + while ((format = EnumClipboardFormats(format))) { > vd_printf("Unsupported clipboard format %u", format); > } > } > commit b9d6baec2d346e37798dd1892f6ae95ac9d6c9ef > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:42:31 2013 +0200 > > Fix task could be used uninitialized > > diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp > index 6ba15a3..9d2f3c5 100644 > --- a/vdagent/file_xfer.cpp > +++ b/vdagent/file_xfer.cpp > @@ -82,7 +82,7 @@ bool FileXfer::handle_data(VDAgentFileXferDataMessage* data, > VDAgentFileXferStatusMessage* status) > { > FileXferTasks::iterator iter; > - FileXferTask* task; > + FileXferTask* task = NULL; > DWORD written; > > status->id = data->id; > @@ -108,13 +108,17 @@ bool FileXfer::handle_data(VDAgentFileXferDataMessage* data, > } > vd_printf("%u completed", iter->first); > status->result = VD_AGENT_FILE_XFER_STATUS_SUCCESS; > + > fin: > - CloseHandle(task->handle); > - if (status->result != VD_AGENT_FILE_XFER_STATUS_SUCCESS) { > - DeleteFileA(task->name); > + if (task) { > + CloseHandle(task->handle); > + if (status->result != VD_AGENT_FILE_XFER_STATUS_SUCCESS) { > + DeleteFileA(task->name); > + } > + _tasks.erase(iter); > + delete task; > } > - _tasks.erase(iter); > - delete task; > + > return true; > } > > commit 462295d9f84658aa7b43401fe7d1373cb3b0fc2d > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:41:04 2013 +0200 > > Fix invalid print format for uint64_t values > > format '%lu' expects argument of type 'long unsigned int', but argument > 9 has type 'uint64_t > > diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp > index b7a480c..6ba15a3 100644 > --- a/vdagent/file_xfer.cpp > +++ b/vdagent/file_xfer.cpp > @@ -16,6 +16,10 @@ > */ > > #include <shlobj.h> > +#define __STDC_FORMAT_MACROS > +#define __USE_MINGW_ANSI_STDIO 1 > +#include <inttypes.h> > +#include <stdio.h> > #include "file_xfer.h" > > FileXfer::~FileXfer() > @@ -48,7 +52,7 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage* start, > vd_printf("file id %u meta parsing failed", start->id); > return; > } > - vd_printf("%u %s (%llu)", start->id, file_name, file_size); > + vd_printf("%u %s (%" PRIu64 ")", start->id, file_name, file_size); > if (FAILED(SHGetFolderPathA(NULL, CSIDL_COMMON_DESKTOPDIRECTORY | CSIDL_FLAG_CREATE, NULL, > SHGFP_TYPE_CURRENT, file_path))) { > vd_printf("failed getting desktop path"); > @@ -59,7 +63,7 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage* start, > return; > } > if (free_bytes.QuadPart < file_size) { > - vd_printf("insufficient disk space %llu", free_bytes.QuadPart); > + vd_printf("insufficient disk space %" PRIu64, free_bytes.QuadPart); > return; > } > strcat_s(file_path, MAX_PATH, "\\"); > commit b52c9ddfa862ecd7f774946ed12185384c85a533 > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:39:46 2013 +0200 > > Fix wrong DWORD print fmt > > format '%u' expects argument of type 'unsigned int', but argument 8 has type 'DWORD > > diff --git a/vdagent/desktop_layout.cpp b/vdagent/desktop_layout.cpp > index 26b6b53..ce259e1 100644 > --- a/vdagent/desktop_layout.cpp > +++ b/vdagent/desktop_layout.cpp > @@ -273,7 +273,7 @@ bool DesktopLayout::init_dev_mode(LPCTSTR dev_name, DEVMODE* dev_mode, DisplayMo > ret = ChangeDisplaySettingsEx(dev_name, dev_mode, NULL, CDS_UPDATEREGISTRY, NULL); > } > > - vd_printf("attach %d", ret); > + vd_printf("attach %ld", ret); > hdc = CreateDC(dev_name, NULL, NULL, NULL); > } > > diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp > index fd084a8..73ca39c 100644 > --- a/vdagent/vdagent.cpp > +++ b/vdagent/vdagent.cpp > @@ -705,7 +705,7 @@ bool VDAgent::handle_clipboard(VDAgentClipboard* clipboard, uint32_t size) > if (err == ERROR_NOT_ENOUGH_MEMORY) { > vd_printf("Not enough memory to set clipboard data, size %u bytes", size); > } else { > - vd_printf("SetClipboardData failed: %u", err); > + vd_printf("SetClipboardData failed: %lu", err); > } > } > fin: > @@ -1200,7 +1200,7 @@ bool VDAgent::init_vio_serial() > _vio_serial = CreateFile(VIOSERIAL_PORT_PATH, GENERIC_READ | GENERIC_WRITE , 0, NULL, > OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); > if (_vio_serial == INVALID_HANDLE_VALUE) { > - vd_printf("Failed opening %ls, error %u", VIOSERIAL_PORT_PATH, GetLastError()); > + vd_printf("Failed opening %ls, error %lu", VIOSERIAL_PORT_PATH, GetLastError()); > return false; > } > return true; > commit 3bf46bc2b2a041dcc278a881e5822643a9e4604d > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Wed Jul 17 20:12:37 2013 +0200 > > dos2unix > > diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp > index 0550882..b7a480c 100644 > --- a/vdagent/file_xfer.cpp > +++ b/vdagent/file_xfer.cpp > @@ -20,9 +20,9 @@ > > FileXfer::~FileXfer() > { > - FileXferTasks::iterator iter; > - FileXferTask* task; > - > + FileXferTasks::iterator iter; > + FileXferTask* task; > + > for (iter = _tasks.begin(); iter != _tasks.end(); iter++) { > task = iter->second; > CloseHandle(task->handle); > @@ -36,10 +36,10 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage* start, > { > char* file_meta = (char*)start->data; > char file_path[MAX_PATH], file_name[MAX_PATH]; > - ULARGE_INTEGER free_bytes; > - FileXferTask* task; > + ULARGE_INTEGER free_bytes; > + FileXferTask* task; > uint64_t file_size; > - HANDLE handle; > + HANDLE handle; > > status->id = start->id; > status->result = VD_AGENT_FILE_XFER_STATUS_ERROR; > @@ -49,7 +49,7 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage* start, > return; > } > vd_printf("%u %s (%llu)", start->id, file_name, file_size); > - if (FAILED(SHGetFolderPathA(NULL, CSIDL_COMMON_DESKTOPDIRECTORY | CSIDL_FLAG_CREATE, NULL, > + if (FAILED(SHGetFolderPathA(NULL, CSIDL_COMMON_DESKTOPDIRECTORY | CSIDL_FLAG_CREATE, NULL, > SHGFP_TYPE_CURRENT, file_path))) { > vd_printf("failed getting desktop path"); > return; > @@ -64,21 +64,21 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage* start, > } > strcat_s(file_path, MAX_PATH, "\\"); > strcat_s(file_path, MAX_PATH, file_name); > - handle = CreateFileA(file_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL); > - if (handle == INVALID_HANDLE_VALUE) { > + handle = CreateFileA(file_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL); > + if (handle == INVALID_HANDLE_VALUE) { > vd_printf("failed creating %s %lu", file_path, GetLastError()); > - return; > - } > + return; > + } > task = new FileXferTask(handle, file_size, file_path); > - _tasks[start->id] = task; > + _tasks[start->id] = task; > status->result = VD_AGENT_FILE_XFER_STATUS_CAN_SEND_DATA; > } > > bool FileXfer::handle_data(VDAgentFileXferDataMessage* data, > VDAgentFileXferStatusMessage* status) > { > - FileXferTasks::iterator iter; > - FileXferTask* task; > + FileXferTasks::iterator iter; > + FileXferTask* task; > DWORD written; > > status->id = data->id; > @@ -116,8 +116,8 @@ fin: > > void FileXfer::handle_status(VDAgentFileXferStatusMessage* status) > { > - FileXferTasks::iterator iter; > - FileXferTask* task; > + FileXferTasks::iterator iter; > + FileXferTask* task; > > vd_printf("id %u result %u", status->id, status->result); > if (status->result != VD_AGENT_FILE_XFER_STATUS_CANCELLED) { > diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp > index e5567f3..fd084a8 100644 > --- a/vdagent/vdagent.cpp > +++ b/vdagent/vdagent.cpp > @@ -450,7 +450,7 @@ void VDAgent::input_desktop_message_loop() > vd_printf("WTSRegisterSessionNotification() failed: %lu", GetLastError()); > } > if (_system_version == SYS_VER_WIN_7_CLASS) { > - _add_clipboard_listener(_hwnd); > + _add_clipboard_listener(_hwnd); > } else { > _hwnd_next_viewer = SetClipboardViewer(_hwnd); > } > @@ -463,7 +463,7 @@ void VDAgent::input_desktop_message_loop() > _pending_input = false; > } > if (_system_version == SYS_VER_WIN_7_CLASS) { > - _remove_clipboard_listener(_hwnd); > + _remove_clipboard_listener(_hwnd); > } else { > ChangeClipboardChain(_hwnd, _hwnd_next_viewer); > } > @@ -948,9 +948,9 @@ void VDAgent::on_clipboard_grab() > set_clipboard_owner(owner_guest); > } else { > UINT format = 0; > - while (format = EnumClipboardFormats(format)) { > - vd_printf("Unsupported clipboard format %u", format); > - } > + while (format = EnumClipboardFormats(format)) { > + vd_printf("Unsupported clipboard format %u", format); > + } > } > } > > @@ -1053,7 +1053,7 @@ bool VDAgent::handle_clipboard_request(VDAgentClipboardRequest* clipboard_reques > uint8_t* new_data = NULL; > long new_size; > size_t len = 0; > - CxImage image; > + CxImage image; > > if (_clipboard_owner != owner_guest) { > vd_printf("Received clipboard request from client while clipboard is not owned by guest"); > @@ -1087,19 +1087,19 @@ bool VDAgent::handle_clipboard_request(VDAgentClipboardRequest* clipboard_reques > DWORD cximage_format = get_cximage_format(clipboard_request->type); > HPALETTE pal = 0; > > - ASSERT(cximage_format); > - if (IsClipboardFormatAvailable(CF_PALETTE)) { > + ASSERT(cximage_format); > + if (IsClipboardFormatAvailable(CF_PALETTE)) { > pal = (HPALETTE)GetClipboardData(CF_PALETTE); > } > - if (!image.CreateFromHBITMAP((HBITMAP)clip_data, pal)) { > - vd_printf("Image create from handle failed"); > - break; > - } > - if (!image.Encode(new_data, new_size, cximage_format)) { > - vd_printf("Image encode to type %u failed", clipboard_request->type); > - break; > - } > - vd_printf("Image encoded to %lu bytes", new_size); > + if (!image.CreateFromHBITMAP((HBITMAP)clip_data, pal)) { > + vd_printf("Image create from handle failed"); > + break; > + } > + if (!image.Encode(new_data, new_size, cximage_format)) { > + vd_printf("Image encode to type %u failed", clipboard_request->type); > + break; > + } > + vd_printf("Image encoded to %lu bytes", new_size); > break; > } > } > @@ -1124,8 +1124,8 @@ bool VDAgent::handle_clipboard_request(VDAgentClipboardRequest* clipboard_reques > break; > case VD_AGENT_CLIPBOARD_IMAGE_PNG: > case VD_AGENT_CLIPBOARD_IMAGE_BMP: > - memcpy(clipboard->data, new_data, new_size); > - image.FreeMemory(new_data); > + memcpy(clipboard->data, new_data, new_size); > + image.FreeMemory(new_data); > break; > } > CloseClipboard(); > commit 846a787c9f4049ca957b09e9a3f3b02ed771873b > Author: Marc-Andr?? Lureau <marcandre.lureau@xxxxxxxxx> > Date: Thu May 2 16:10:59 2013 +0200 > > Update spice-protocol > > diff --git a/spice-protocol b/spice-protocol > index df6bc62..784407f 160000 > --- a/spice-protocol > +++ b/spice-protocol > @@ -1 +1 @@ > -Subproject commit df6bc6269ebd3144663cbdb8457fbe71d9202b6a > +Subproject commit 784407f248e7f99d2bfcc9368f9acd1efb2b9617 > _______________________________________________ > Spice-commits mailing list > Spice-commits@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-commits
Attachment:
pgpfrIZzqr0BP.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel