]> granicus.if.org Git - rtmpdump/commitdiff
Strip trailing params from swfurl in saved copy
authorhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Tue, 29 Dec 2009 08:07:09 +0000 (08:07 +0000)
committerhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Tue, 29 Dec 2009 08:07:09 +0000 (08:07 +0000)
git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@125 400ebc74-4327-4243-bc38-086b20814532

swfvfy.c

index fea145046fc601b2ec5ff77639d3dd1c9dbb2d39..c75fa53885ec4d05b8dbd9e25410376e9ffd553e 100644 (file)
--- a/swfvfy.c
+++ b/swfvfy.c
@@ -144,8 +144,9 @@ SWFVerify(const char *url, unsigned int *size, unsigned char *hash)
           if (strncmp(buf, "url: ", 5))
             continue;
           r1 = strrchr(buf, '/');
-          buf[strlen(buf)-1] = '\0';
-          if (strcmp(r1, file))
+          i = strlen(r1);
+          r1[--i] = '\0';
+          if (strncmp(r1, file, i))
             continue;
           pos = ftell(f);
           while (got < 3 && fgets(buf, sizeof(buf), f))
@@ -207,10 +208,17 @@ SWFVerify(const char *url, unsigned int *size, unsigned char *hash)
         fseek(f, pos, SEEK_SET);
       else
         {
+          char *q;
           if (!f)
             f = fopen(path, "w");
           fseek(f, 0, SEEK_END);
-          fprintf(f, "url: %s\n", url);
+          q = strchr(url, '?');
+          if (q)
+            i = q - url;
+          else
+            i = strlen(url);
+
+          fprintf(f, "url: %.*s\n", i, url);
         }
       fprintf(f, "date: %s\n", date);
       fprintf(f, "size: %08x\n", in.size);