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:
Marcelo Roberto Jimenez 2008-02-22 04:48:10 +00:00
parent f812b124d7
commit cc0c2ffc50
2 changed files with 21 additions and 13 deletions

View File

@ -2,6 +2,9 @@
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>
* Changed "sys_errlist[errno]", which is deprecated, by
"strerror_r()", which is thread safe.

View File

@ -442,20 +442,18 @@ Make_Socket_NoBlocking( int sock )
* Returns: int
* 0 if successful else -1
***************************************************************************/
int
unique_service_name( IN char *cmd,
IN SsdpEvent * Evt )
int unique_service_name(IN char *cmd, IN SsdpEvent *Evt)
{
char *TempPtr,
TempBuf[COMMAND_LEN],
*Ptr,
*ptr1,
*ptr2,
*ptr3;
char TempBuf[COMMAND_LEN];
char *TempPtr = NULL;
char *Ptr = NULL;
char *ptr1 = NULL;
char *ptr2 = NULL;
char *ptr3 = NULL;
int CommandFound = 0;
int length = 0;
if( ( TempPtr = strstr( cmd, "uuid:schemas" ) ) != NULL ) {
ptr1 = strstr( cmd, ":device" );
if( ptr1 != NULL ) {
ptr2 = strstr( ptr1 + 1, ":" );
@ -487,7 +485,6 @@ unique_service_name( IN char *cmd,
}
if( ( TempPtr = strstr( cmd, "uuid" ) ) != NULL ) {
//printf("cmd = %s\n",cmd);
if( ( Ptr = strstr( cmd, "::" ) ) != NULL ) {
strncpy( Evt->UDN, TempPtr, Ptr - TempPtr );
Evt->UDN[Ptr - TempPtr] = '\0';
@ -499,7 +496,6 @@ unique_service_name( IN char *cmd,
if( strstr( cmd, "urn:" ) != NULL
&& strstr( cmd, ":service:" ) != NULL ) {
if( ( TempPtr = strstr( cmd, "urn" ) ) != NULL ) {
strcpy( Evt->ServiceType, TempPtr );
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 ) {
return -1;
}