Merge of trunk into branch-1.6.x.
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@327 119443c7-1b9e-41f8-b6fc-b9c35fce742c
This commit is contained in:
parent
f812b124d7
commit
cc0c2ffc50
@ -2,6 +2,9 @@
|
|||||||
Version 1.6.6
|
Version 1.6.6
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
|
|
||||||
|
2008-02-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||||
|
* No longer ignore "upnp:rootdevice" advertisement. Thanks to Bob Ciora.
|
||||||
|
|
||||||
2008-02-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
2008-02-10 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||||
* Changed "sys_errlist[errno]", which is deprecated, by
|
* Changed "sys_errlist[errno]", which is deprecated, by
|
||||||
"strerror_r()", which is thread safe.
|
"strerror_r()", which is thread safe.
|
||||||
|
@ -442,20 +442,18 @@ Make_Socket_NoBlocking( int sock )
|
|||||||
* Returns: int
|
* Returns: int
|
||||||
* 0 if successful else -1
|
* 0 if successful else -1
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
int
|
int unique_service_name(IN char *cmd, IN SsdpEvent *Evt)
|
||||||
unique_service_name( IN char *cmd,
|
|
||||||
IN SsdpEvent * Evt )
|
|
||||||
{
|
{
|
||||||
char *TempPtr,
|
char TempBuf[COMMAND_LEN];
|
||||||
TempBuf[COMMAND_LEN],
|
char *TempPtr = NULL;
|
||||||
*Ptr,
|
char *Ptr = NULL;
|
||||||
*ptr1,
|
char *ptr1 = NULL;
|
||||||
*ptr2,
|
char *ptr2 = NULL;
|
||||||
*ptr3;
|
char *ptr3 = NULL;
|
||||||
int CommandFound = 0;
|
int CommandFound = 0;
|
||||||
|
int length = 0;
|
||||||
|
|
||||||
if( ( TempPtr = strstr( cmd, "uuid:schemas" ) ) != NULL ) {
|
if( ( TempPtr = strstr( cmd, "uuid:schemas" ) ) != NULL ) {
|
||||||
|
|
||||||
ptr1 = strstr( cmd, ":device" );
|
ptr1 = strstr( cmd, ":device" );
|
||||||
if( ptr1 != NULL ) {
|
if( ptr1 != NULL ) {
|
||||||
ptr2 = strstr( ptr1 + 1, ":" );
|
ptr2 = strstr( ptr1 + 1, ":" );
|
||||||
@ -487,7 +485,6 @@ unique_service_name( IN char *cmd,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( ( TempPtr = strstr( cmd, "uuid" ) ) != NULL ) {
|
if( ( TempPtr = strstr( cmd, "uuid" ) ) != NULL ) {
|
||||||
//printf("cmd = %s\n",cmd);
|
|
||||||
if( ( Ptr = strstr( cmd, "::" ) ) != NULL ) {
|
if( ( Ptr = strstr( cmd, "::" ) ) != NULL ) {
|
||||||
strncpy( Evt->UDN, TempPtr, Ptr - TempPtr );
|
strncpy( Evt->UDN, TempPtr, Ptr - TempPtr );
|
||||||
Evt->UDN[Ptr - TempPtr] = '\0';
|
Evt->UDN[Ptr - TempPtr] = '\0';
|
||||||
@ -499,7 +496,6 @@ unique_service_name( IN char *cmd,
|
|||||||
|
|
||||||
if( strstr( cmd, "urn:" ) != NULL
|
if( strstr( cmd, "urn:" ) != NULL
|
||||||
&& strstr( cmd, ":service:" ) != NULL ) {
|
&& strstr( cmd, ":service:" ) != NULL ) {
|
||||||
|
|
||||||
if( ( TempPtr = strstr( cmd, "urn" ) ) != NULL ) {
|
if( ( TempPtr = strstr( cmd, "urn" ) ) != NULL ) {
|
||||||
strcpy( Evt->ServiceType, TempPtr );
|
strcpy( Evt->ServiceType, TempPtr );
|
||||||
CommandFound = 1;
|
CommandFound = 1;
|
||||||
@ -514,8 +510,17 @@ unique_service_name( IN char *cmd,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( ( TempPtr = strstr( cmd, "::upnp:rootdevice" ) ) != NULL ) {
|
||||||
|
/* Everything before "::upnp::rootdevice" is the UDN. */
|
||||||
|
if( TempPtr != cmd ) {
|
||||||
|
length = TempPtr - cmd;
|
||||||
|
strncpy(Evt->UDN, cmd, length);
|
||||||
|
Evt->UDN[length] = 0;
|
||||||
|
CommandFound = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if( CommandFound == 0 ) {
|
if( CommandFound == 0 ) {
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user