\r
\r
/* Local functions */\r
-static int ismult( char *psz_uri );\r
+static int ismult( const char *psz_uri );\r
\r
static void pageHeader( wxWindow *window, wxBoxSizer *sizer,\r
char *psz_title, char *psz_text);\r
if( !event.GetDirection() ) return;\r
\r
/* Check valid address */\r
- if( i_method == 1 && !ismult((char *) address_txtctrl->GetValue().c_str()) )\r
+ if( i_method == 1 && !ismult( address_txtctrl->GetValue().mb_str()) )\r
{\r
wxMessageBox( wxU( INVALID_MCAST_ADDRESS ) , wxU( ERROR_MSG ),\r
wxICON_WARNING | wxOK, this->p_parent );\r
/****************************************************************\r
* Local helper functions\r
****************************************************************/\r
-static int ismult( char *psz_uri )\r
+static int ismult( const char *psz_uri )\r
{\r
char *psz_end;\r
- int i_value;\r
+ unsigned long i_value;\r
\r
- i_value = strtol( psz_uri, &psz_end, 0 );\r
/* IPv6 */\r
if( psz_uri[0] == '[')\r
- {\r
- if( strncasecmp( &psz_uri[1], "FF0" , 3) ||\r
- strncasecmp( &psz_uri[2], "FF0" , 3))\r
- return( VLC_TRUE );\r
- else\r
- return( VLC_FALSE );\r
- }\r
+ return strncasecmp( &psz_uri[1], "FF" , 2) ? VLC_FALSE : VLC_TRUE;\r
+\r
+ /* IPv4 */\r
+ i_value = strtoul( psz_uri, &psz_end, 10 );\r
if( *psz_end != '.' ) { return( VLC_FALSE ); }\r
\r
- return( i_value < 224 ? VLC_FALSE : VLC_TRUE );\r
+ return( ( i_value >= 224 && i_value < 240 ) ? VLC_TRUE : VLC_FALSE );\r
\r
}\r