avoid false URL protocol detection when using ':' in filenames

Originally committed as revision 1595 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Fabrice Bellard 2003-02-21 11:08:08 +00:00
parent b2a3fcb7e1
commit 5d5fef0af1
1 changed files with 5 additions and 0 deletions

View File

@ -17,6 +17,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "avformat.h"
#include <ctype.h>
URLProtocol *first_protocol = NULL;
@ -41,12 +42,16 @@ int url_open(URLContext **puc, const char *filename, int flags)
p = filename;
q = proto_str;
while (*p != '\0' && *p != ':') {
/* protocols can only contain alphabetic chars */
if (!isalpha(*p))
goto file_proto;
if ((q - proto_str) < sizeof(proto_str) - 1)
*q++ = *p;
p++;
}
/* if the protocol has length 1, we consider it is a dos drive */
if (*p == '\0' || (q - proto_str) <= 1) {
file_proto:
strcpy(proto_str, "file");
} else {
*q = '\0';