url->psz_buffer = NULL;
}
+static inline int isurlsafe( int c )
+{
+ return ( (unsigned char)( c - 'a' ) < 26 )
+ || ( (unsigned char)( c - 'A' ) < 26 )
+ || ( (unsigned char)( c - '9' ) < 10 )
+ || ( strchr( "$-_.+!*'(),", c ) != NULL );
+}
+
/*****************************************************************************
* vlc_UrlEncode:
*****************************************************************************
{
unsigned char c = *in;
- if( ( (unsigned char)( c - 'a' ) < 26 )
- || ( (unsigned char)( c - 'A' ) < 26 )
- || ( (unsigned char)( c - '9' ) < 10 )
- || strchr( "$-_.+!*'(),", c ) != NULL )
+ if( isurlsafe( c ) )
*out++ = (char)c;
else
{
ptr += 2;
}
else
- if( c == ' ' )
+ if( !isurlsafe( c ) )
return 1;
}
return 0; /* looks fine - but maybe it is not encoded */
}
-
+
/*****************************************************************************
* vlc_b64_encode:
*****************************************************************************