From: <mar...@us...> - 2009-12-15 08:25:37
|
Revision: 12559 http://gphoto.svn.sourceforge.net/gphoto/?rev=12559&view=rev Author: marcusmeissner Date: 2009-12-15 08:25:29 +0000 (Tue, 15 Dec 2009) Log Message: ----------- len should be ret Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2009-12-13 13:16:58 UTC (rev 12558) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2009-12-15 08:25:29 UTC (rev 12559) @@ -138,7 +138,7 @@ return PTP_RC_GeneralError; } gp_log_data ( "ptpip/generic_read", (char*)xhdr+curread, ret); - curread += len; + curread += ret; if (ret == 0) { gp_log (GP_LOG_ERROR, "ptpip", "End of stream after reading %d bytes of ptpipheader", ret); return PTP_RC_GeneralError; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2010-08-18 22:55:08
|
Revision: 13281 http://gphoto.svn.sourceforge.net/gphoto/?rev=13281&view=rev Author: marcusmeissner Date: 2010-08-18 22:55:00 +0000 (Wed, 18 Aug 2010) Log Message: ----------- startdata is actually 4 byte longer Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2010-08-18 22:54:34 UTC (rev 13280) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2010-08-18 22:55:00 UTC (rev 13281) @@ -210,6 +210,7 @@ #define ptpip_startdata_transid 0 #define ptpip_startdata_totallen 4 +#define ptpip_startdata_unknown 8 #define ptpip_data_transid 0 #define ptpip_data_payload 4 @@ -218,7 +219,7 @@ ptp_ptpip_senddata (PTPParams* params, PTPContainer* ptp, unsigned long size, PTPDataHandler *handler ) { - unsigned char request[16]; + unsigned char request[0x14]; int ret, curwrite, towrite; unsigned char* xdata; @@ -226,6 +227,7 @@ htod32a(&request[ptpip_len],sizeof(request)); htod32a(&request[ptpip_startdata_transid + 8],ptp->Transaction_ID); htod32a(&request[ptpip_startdata_totallen + 8],size); + htod32a(&request[ptpip_startdata_unknown + 8],0); gp_log_data ( "ptpip/senddata", (char*)request, sizeof(request)); ret = write (params->cmdfd, request, sizeof(request)); if (ret == -1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2011-08-19 18:18:53
|
Revision: 13677 http://gphoto.svn.sourceforge.net/gphoto/?rev=13677&view=rev Author: marcusmeissner Date: 2011-08-19 18:18:46 +0000 (Fri, 19 Aug 2011) Log Message: ----------- moved headers Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2011-08-18 13:51:08 UTC (rev 13676) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2011-08-19 18:18:46 UTC (rev 13677) @@ -46,6 +46,9 @@ #include <gphoto2/gphoto2-port-log.h> #include <gphoto2/gphoto2-setting.h> +#include "ptp.h" +#include "ptp-private.h" + #define PTPIP_VERSION_MAJOR 0x0001 #define PTPIP_VERSION_MINOR 0x0000 @@ -70,7 +73,6 @@ #include "ptp.h" #include "ptp-bugs.h" -#include "ptp-private.h" #include "ptp-pack.c" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2012-11-21 20:23:07
|
Revision: 14143 http://gphoto.svn.sourceforge.net/gphoto/?rev=14143&view=rev Author: marcusmeissner Date: 2012-11-21 20:22:59 +0000 (Wed, 21 Nov 2012) Log Message: ----------- added note on GUIDs on WU-1 Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2012-11-18 21:46:39 UTC (rev 14142) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2012-11-21 20:22:59 UTC (rev 14143) @@ -25,6 +25,8 @@ * - Not everything implementation correctly cross checked. * - Coolpix P3 does not give transfer status (image 000x/000y), and reports an * error when transfers finish correctly. + * + * Nikon WU-1* adapters might use 0011223344556677 as GUID always... */ #define _BSD_SOURCE #include "config.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-02-27 08:24:36
|
Revision: 14261 http://sourceforge.net/p/gphoto/code/14261 Author: marcusmeissner Date: 2013-02-27 08:24:30 +0000 (Wed, 27 Feb 2013) Log Message: ----------- swap major and minor as reported by gKlimaDurst in https://sourceforge.net/p/gphoto/bugs/941/ Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-02-24 10:03:16 UTC (rev 14260) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-02-27 08:24:30 UTC (rev 14261) @@ -425,8 +425,8 @@ cmdrequest[ptpip_initcmd_name+i*2] = hostname[i]; cmdrequest[ptpip_initcmd_name+i*2+1] = 0; } - htod16a(&cmdrequest[ptpip_initcmd_name+(strlen(hostname)+1)*2],PTPIP_VERSION_MAJOR); - htod16a(&cmdrequest[ptpip_initcmd_name+(strlen(hostname)+1)*2+2],PTPIP_VERSION_MINOR); + htod16a(&cmdrequest[ptpip_initcmd_name+(strlen(hostname)+1)*2],PTPIP_VERSION_MINOR); + htod16a(&cmdrequest[ptpip_initcmd_name+(strlen(hostname)+1)*2+2],PTPIP_VERSION_MAJOR); gp_log_data ( "ptpip/init_cmd", (char*)cmdrequest, len); ret = write (params->cmdfd, cmdrequest, len); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-15 20:58:27
|
Revision: 14417 http://sourceforge.net/p/gphoto/code/14417 Author: marcusmeissner Date: 2013-05-15 20:58:24 +0000 (Wed, 15 May 2013) Log Message: ----------- https://sourceforge.net/p/gphoto/patches/150/ From: Yifan Lu better ptpip event checking support. Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-05-12 12:49:06 UTC (rev 14416) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-05-15 20:58:24 UTC (rev 14417) @@ -383,7 +383,7 @@ resp->Code = dtoh16a(&data[ptpip_resp_code]); resp->Transaction_ID = dtoh32a(&data[ptpip_resp_transid]); - n = (dtoh32(hdr.length) - ptpip_resp_param1)/sizeof(uint32_t); + n = (dtoh32(hdr.length) - sizeof(hdr) - ptpip_resp_param1)/sizeof(uint32_t); switch (n) { case 5: resp->Param5 = dtoh32a(&data[ptpip_resp_param5]); case 4: resp->Param4 = dtoh32a(&data[ptpip_resp_param4]); @@ -524,10 +524,59 @@ #define PTP_EVENT_CHECK 0x0000 /* waits for */ #define PTP_EVENT_CHECK_FAST 0x0001 /* checks */ +#define ptpip_event_code 0 +#define ptpip_event_transid 2 +#define ptpip_event_param1 6 +#define ptpip_event_param2 10 +#define ptpip_event_param3 14 + static inline uint16_t ptp_ptpip_event (PTPParams* params, PTPContainer* event, int wait) { - fprintf(stderr,"event()\n"); + fd_set infds; + struct timeval timeout; + int ret; + unsigned char* data = NULL; + PTPIPHeader hdr; + int n; + + while (1) { + if (wait == PTP_EVENT_CHECK_FAST) { + FD_ZERO(&infds); + FD_SET(params->evtfd, &infds); + timeout.tv_sec = 0; + timeout.tv_usec = 1; + if (1 != select (params->evtfd+1, &infds, NULL, NULL, &timeout)) + return PTP_RC_OK; + } + ret = ptp_ptpip_evt_read (params, &hdr, &data); + if (ret != PTP_RC_OK) + return ret; + gp_log (GP_LOG_DEBUG,"ptpip/event", "hdr type %d, length %d", hdr.type, hdr.length); + + if (dtoh32(hdr.type) == PTPIP_EVENT) { + break; + } + + /* TODO: Handle cancel transaction and ping/pong + * If not PTPIP_EVENT, process it and wait for next PTPIP_EVENT + */ + gp_log (GP_LOG_ERROR, "ptpip/event", "unknown/unhandled event type %d", dtoh32(hdr.type)); + } + + event->Code = dtoh16a(&data[ptpip_event_code]); + event->Transaction_ID = dtoh32a(&data[ptpip_event_transid]); + n = (dtoh32(hdr.length) - sizeof(hdr) - ptpip_event_param1)/sizeof(uint32_t); + switch (n) { + case 3: event->Param3 = dtoh32a(&data[ptpip_event_param3]); + case 2: event->Param2 = dtoh32a(&data[ptpip_event_param2]); + case 1: event->Param1 = dtoh32a(&data[ptpip_event_param1]); + case 0: break; + default: + gp_log( GP_LOG_ERROR, "ptpip/event", "response got %d parameters?", n); + break; + } + free (data); return PTP_RC_OK; } @@ -656,18 +705,18 @@ close (params->evtfd); return GP_ERROR_IO; } + if (-1 == connect (params->evtfd, (struct sockaddr*)&saddr, sizeof(struct sockaddr_in))) { + perror ("connect evt"); + close (params->cmdfd); + close (params->evtfd); + return GP_ERROR_IO; + } ret = ptp_ptpip_init_command_request (params); if (ret != PTP_RC_OK) return translate_ptp_result (ret); ret = ptp_ptpip_init_command_ack (params); if (ret != PTP_RC_OK) return translate_ptp_result (ret); - if (-1 == connect (params->evtfd, (struct sockaddr*)&saddr, sizeof(struct sockaddr_in))) { - perror ("connect evt"); - close (params->cmdfd); - close (params->evtfd); - return GP_ERROR_IO; - } ret = ptp_ptpip_init_event_request (params); if (ret != PTP_RC_OK) return translate_ptp_result (ret); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-05-15 21:04:20
|
Revision: 14418 http://sourceforge.net/p/gphoto/code/14418 Author: marcusmeissner Date: 2013-05-15 21:04:17 +0000 (Wed, 15 May 2013) Log Message: ----------- improved on our own event checkin, add to the ptp event queue if any found out of band Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-05-15 20:58:24 UTC (rev 14417) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-05-15 21:04:17 UTC (rev 14418) @@ -90,7 +90,10 @@ #define ptpip_cmd_param4 30 #define ptpip_cmd_param5 34 +#define PTP_EVENT_CHECK 0x0000 /* waits for */ +#define PTP_EVENT_CHECK_FAST 0x0001 /* checks */ static uint16_t ptp_ptpip_check_event (PTPParams* params); +static uint16_t ptp_ptpip_event (PTPParams* params, PTPContainer* event, int wait); /* send / receive functions */ uint16_t @@ -194,23 +197,16 @@ static uint16_t ptp_ptpip_check_event (PTPParams* params) { - fd_set infds; - struct timeval timeout; - int ret; - unsigned char* data = NULL; - PTPIPHeader hdr; + PTPContainer event; + uint16_t ret; - FD_ZERO(&infds); - FD_SET(params->evtfd, &infds); - timeout.tv_sec = 0; - timeout.tv_usec = 1; - if (1 != select (params->evtfd+1, &infds, NULL, NULL, &timeout)) - return PTP_RC_OK; - ret = ptp_ptpip_evt_read (params, &hdr, &data); + event.Code = 0; + ret = ptp_ptpip_event (params, &event, PTP_EVENT_CHECK_FAST); if (ret != PTP_RC_OK) return ret; - gp_log (GP_LOG_DEBUG,"ptpip/check_event", "hdr type %d, length %d", hdr.type, hdr.length); - return PTP_RC_OK; + if (event.Code == 0) + return ret; + return ptp_add_event (params, &event); } #define ptpip_startdata_transid 0 @@ -521,8 +517,6 @@ /* Event handling functions */ /* PTP Events wait for or check mode */ -#define PTP_EVENT_CHECK 0x0000 /* waits for */ -#define PTP_EVENT_CHECK_FAST 0x0001 /* checks */ #define ptpip_event_code 0 #define ptpip_event_transid 2 @@ -530,7 +524,7 @@ #define ptpip_event_param2 10 #define ptpip_event_param3 14 -static inline uint16_t +static uint16_t ptp_ptpip_event (PTPParams* params, PTPContainer* event, int wait) { fd_set infds; @@ -541,14 +535,17 @@ int n; while (1) { - if (wait == PTP_EVENT_CHECK_FAST) { - FD_ZERO(&infds); - FD_SET(params->evtfd, &infds); - timeout.tv_sec = 0; + FD_ZERO(&infds); + FD_SET(params->evtfd, &infds); + timeout.tv_sec = 0; + if (wait == PTP_EVENT_CHECK_FAST) timeout.tv_usec = 1; - if (1 != select (params->evtfd+1, &infds, NULL, NULL, &timeout)) - return PTP_RC_OK; - } + else + timeout.tv_usec = 1000; /* 1/1000 second .. perhaps wait longer? */ + + if (1 != select (params->evtfd+1, &infds, NULL, NULL, &timeout)) + return PTP_RC_OK; + ret = ptp_ptpip_evt_read (params, &hdr, &data); if (ret != PTP_RC_OK) return ret; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-06-28 06:35:25
|
Revision: 14463 http://sourceforge.net/p/gphoto/code/14463 Author: marcusmeissner Date: 2013-06-28 06:35:23 +0000 (Fri, 28 Jun 2013) Log Message: ----------- free data in all edges (Coverity) Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-28 06:33:28 UTC (rev 14462) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-28 06:35:23 UTC (rev 14463) @@ -505,11 +505,11 @@ ret = ptp_ptpip_evt_read (params, &hdr, &data); if (ret != PTP_RC_OK) return ret; + free (data); if (hdr.type != dtoh32(PTPIP_INIT_EVENT_ACK)) { gp_log (GP_LOG_ERROR, "ptpip", "bad type returned %d\n", htod32(hdr.type)); return PTP_RC_GeneralError; } - free (data); return PTP_RC_OK; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-06-28 06:39:33
|
Revision: 14464 http://sourceforge.net/p/gphoto/code/14464 Author: marcusmeissner Date: 2013-06-28 06:39:29 +0000 (Fri, 28 Jun 2013) Log Message: ----------- one more free in error path (Coverity) Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-28 06:35:23 UTC (rev 14463) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-28 06:39:29 UTC (rev 14464) @@ -457,6 +457,7 @@ return ret; if (hdr.type != dtoh32(PTPIP_INIT_COMMAND_ACK)) { gp_log (GP_LOG_ERROR, "ptpip/init_cmd_ack", "bad type returned %d", htod32(hdr.type)); + free (data); return PTP_RC_GeneralError; } params->eventpipeid = dtoh32a(&data[ptpip_cmdack_idx]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-06-30 11:13:36
|
Revision: 14478 http://sourceforge.net/p/gphoto/code/14478 Author: marcusmeissner Date: 2013-06-30 11:13:27 +0000 (Sun, 30 Jun 2013) Log Message: ----------- handle return values from select Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-30 08:44:09 UTC (rev 14477) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-06-30 11:13:27 UTC (rev 14478) @@ -544,8 +544,14 @@ else timeout.tv_usec = 1000; /* 1/1000 second .. perhaps wait longer? */ - if (1 != select (params->evtfd+1, &infds, NULL, NULL, &timeout)) - return PTP_RC_OK; + ret = select (params->evtfd+1, &infds, NULL, NULL, &timeout); + if (1 != ret) { + if (-1 == ret) { + gp_log (GP_LOG_DEBUG,"ptpip/event", "select returned error, errno is %d", errno); + return PTP_ERROR_IO; + } + return PTP_ERROR_TIMEOUT; + } ret = ptp_ptpip_evt_read (params, &hdr, &data); if (ret != PTP_RC_OK) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2013-08-27 09:52:13
|
Revision: 14516 http://sourceforge.net/p/gphoto/code/14516 Author: marcusmeissner Date: 2013-08-27 09:52:02 +0000 (Tue, 27 Aug 2013) Log Message: ----------- loop boundaries are unsigned Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-08-27 09:46:38 UTC (rev 14515) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2013-08-27 09:52:02 UTC (rev 14516) @@ -99,9 +99,9 @@ uint16_t ptp_ptpip_sendreq (PTPParams* params, PTPContainer* req) { - unsigned int ret; - uint32_t len = 18+req->Nparam*4; - unsigned char *request = malloc(len); + int ret; + int len = 18+req->Nparam*4; + unsigned char *request = malloc(len); ptp_ptpip_check_event (params); @@ -221,7 +221,8 @@ uint64_t size, PTPDataHandler *handler ) { unsigned char request[0x14]; - int ret, curwrite, towrite; + unsigned int curwrite, towrite; + int ret; unsigned char* xdata; htod32a(&request[ptpip_type],PTPIP_START_DATA_PACKET); @@ -403,7 +404,8 @@ { char hostname[100]; unsigned char* cmdrequest; - int len,i,ret; + unsigned int i; + int len, ret; unsigned char guid[16]; ptp_nikon_getptpipguid(guid); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2014-02-19 18:52:55
|
Revision: 14749 http://sourceforge.net/p/gphoto/code/14749 Author: marcusmeissner Date: 2014-02-19 18:52:49 +0000 (Wed, 19 Feb 2014) Log Message: ----------- access denied Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-02-12 20:10:50 UTC (rev 14748) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-02-19 18:52:49 UTC (rev 14749) @@ -460,6 +460,8 @@ if (hdr.type != dtoh32(PTPIP_INIT_COMMAND_ACK)) { gp_log (GP_LOG_ERROR, "ptpip/init_cmd_ack", "bad type returned %d", htod32(hdr.type)); free (data); + if (hdr.type == PTPIP_INIT_FAIL) /* likely reason is permission denied */ + return PTP_RC_AccessDenied; return PTP_RC_GeneralError; } params->eventpipeid = dtoh32a(&data[ptpip_cmdack_idx]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2014-02-22 18:04:47
|
Revision: 14783 http://sourceforge.net/p/gphoto/code/14783 Author: marcusmeissner Date: 2014-02-22 18:04:41 +0000 (Sat, 22 Feb 2014) Log Message: ----------- currently not ported to win32. Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-02-22 17:54:47 UTC (rev 14782) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-02-22 18:04:41 UTC (rev 14783) @@ -41,8 +41,12 @@ #include <sys/select.h> #endif -#include <sys/socket.h> -#include <netinet/in.h> +#ifdef WIN32 +# include <winsock.h> +#else +# include <sys/socket.h> +# include <netinet/in.h> +#endif #include <gphoto2/gphoto2-library.h> #include <gphoto2/gphoto2-port-log.h> @@ -532,6 +536,7 @@ static uint16_t ptp_ptpip_event (PTPParams* params, PTPContainer* event, int wait) { +#ifndef WIN32 fd_set infds; struct timeval timeout; int ret; @@ -586,6 +591,10 @@ } free (data); return PTP_RC_OK; +#else + gp_log( GP_LOG_ERROR, "ptpip/event", "not supported currently on Windows"); + return PTP_RC_OK; +#endif } uint16_t @@ -669,6 +678,8 @@ gp_log (GP_LOG_DEBUG,"ptpip/connect", "connecting to %s.", address); if (NULL == strchr (address,':')) return GP_ERROR_BAD_PARAMETERS; + +#ifdef HAVE_INET_ATON addr = strdup (address); if (!addr) return GP_ERROR_NO_MEMORY; @@ -733,4 +744,8 @@ return translate_ptp_result (ret); gp_log (GP_LOG_DEBUG, "ptpip/connect", "ptpip connected!"); return GP_OK; +#else + gp_log (GP_LOG_ERROR,"ptpip/connect", "Windows currently not supported, neeeds a winsock port."); + return GP_ERROR_NOT_SUPPORTED; +#endif } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2014-05-04 14:46:02
|
Revision: 14931 http://sourceforge.net/p/gphoto/code/14931 Author: marcusmeissner Date: 2014-05-04 14:45:56 +0000 (Sun, 04 May 2014) Log Message: ----------- Connect to event socket only after the initial connect and session handshake. (untested) Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-05-04 14:45:11 UTC (rev 14930) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-05-04 14:45:56 UTC (rev 14931) @@ -724,21 +724,28 @@ close (params->evtfd); return GP_ERROR_IO; } + ret = ptp_ptpip_init_command_request (params); + if (ret != PTP_RC_OK) { + close (params->cmdfd); + close (params->evtfd); + return translate_ptp_result (ret); + } + ret = ptp_ptpip_init_command_ack (params); + if (ret != PTP_RC_OK) { + close (params->cmdfd); + close (params->evtfd); + return translate_ptp_result (ret); + } if (-1 == connect (params->evtfd, (struct sockaddr*)&saddr, sizeof(struct sockaddr_in))) { - perror ("connect evt"); + gp_log (GP_LOG_ERROR,"ptpip/connect", "could not connect event"); close (params->cmdfd); close (params->evtfd); return GP_ERROR_IO; } - ret = ptp_ptpip_init_command_request (params); - if (ret != PTP_RC_OK) - return translate_ptp_result (ret); - ret = ptp_ptpip_init_command_ack (params); - if (ret != PTP_RC_OK) - return translate_ptp_result (ret); ret = ptp_ptpip_init_event_request (params); - if (ret != PTP_RC_OK) + if (ret != PTP_RC_OK) { return translate_ptp_result (ret); + } ret = ptp_ptpip_init_event_ack (params); if (ret != PTP_RC_OK) return translate_ptp_result (ret); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2014-06-01 17:23:52
|
Revision: 14987 http://sourceforge.net/p/gphoto/code/14987 Author: marcusmeissner Date: 2014-06-01 17:23:45 +0000 (Sun, 01 Jun 2014) Log Message: ----------- added a missing free in error case (Coverity) Modified Paths: -------------- trunk/libgphoto2/camlibs/ptp2/ptpip.c Modified: trunk/libgphoto2/camlibs/ptp2/ptpip.c =================================================================== --- trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-06-01 17:22:43 UTC (rev 14986) +++ trunk/libgphoto2/camlibs/ptp2/ptpip.c 2014-06-01 17:23:45 UTC (rev 14987) @@ -686,6 +686,7 @@ s = strchr (addr,':'); if (!s) { gp_log (GP_LOG_ERROR,"ptpip/connect", "addr %s should contain a :", address); + free (addr); return GP_ERROR_BAD_PARAMETERS; } *s = '\0'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |