~motumedia/xine-ui/ubuntu

« back to all changes in this revision

Viewing changes to src/xitk/mediamark.c

  • Committer: Reinhard Tartler
  • Date: 2007-01-30 10:33:18 UTC
  • mfrom: (2541.1.34 xine-ui.0.99.4+cvs)
  • Revision ID: siretart@tauware.de-20070130103318-evmro8n4ydtj3cwb
merge debian changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 * along with this program; if not, write to the Free Software
18
18
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
19
19
 *
20
 
 * $Id: mediamark.c,v 1.106 2006/07/15 09:03:35 dgp85 Exp $
 
20
 * $Id: mediamark.c,v 1.107 2006/07/15 20:26:20 dgp85 Exp $
21
21
 *
22
22
 */
23
23
 
527
527
          path = strrchr(filename, '/');
528
528
          if(path && (path > filename)) {
529
529
            origin = (char *) xine_xmalloc((path - filename) + 2);
530
 
            strncat(origin, filename, (path - filename));
531
 
            strcat(origin, "/");
 
530
            snprintf(origin, (path-filename)+1, "%s/", filename);
532
531
          }
533
532
          
534
533
          while((ln = playlist->lines[linen++]) != NULL) {
633
632
            path = strrchr(filename, '/');
634
633
            if(path && (path > filename)) {
635
634
              origin = (char *) xine_xmalloc((path - filename) + 2);
636
 
              strncat(origin, filename, (path - filename));
637
 
              strcat(origin, "/");
 
635
              snprintf(origin, (path - filename)+1, "%s/", filename);
638
636
            }
639
637
            
640
638
            while((ln = playlist->lines[linen++]) != NULL) {
760
758
                path = strrchr(filename, '/');
761
759
                if(path && (path > filename)) {
762
760
                  origin = (char *) xine_xmalloc((path - filename) + 2);
763
 
                  strncat(origin, filename, (path - filename));
764
 
                  strcat(origin, "/");
 
761
                  snprintf(origin, (path - filename)+1, "%s/", filename);
765
762
                }
766
763
 
767
764
                mmk = (mediamark_t **) realloc(mmk, sizeof(mediamark_t *) * (entries_raw + 2));
1775
1772
          p = buffer;
1776
1773
 
1777
1774
          if(smil->base && (!strstr(prop->value, "://"))) {
1778
 
            strcat(p, smil->base);
 
1775
            strlcat(p, smil->base, sizeof(buffer));
1779
1776
            
1780
1777
            if(buffer[strlen(buffer) - 1] != '/')
1781
 
              strcat(p, "/");
 
1778
              strlcat(p, "/", sizeof(buffer));
1782
1779
          }
1783
1780
          
1784
 
          strcat(p, prop->value);
 
1781
          strlcat(p, prop->value, sizeof(buffer));
1785
1782
          
1786
1783
          (*snode)->mmk->mrl = strdup(buffer);
1787
1784
        }
2389
2386
      path = strrchr(filename, '/');
2390
2387
      if(path && (path > filename)) {
2391
2388
        origin = (char *) xine_xmalloc((path - filename) + 2);
2392
 
        strncat(origin, filename, (path - filename));
2393
 
        strcat(origin, "/");
 
2389
        snprintf(origin, (path - filename)+1, "%s/", filename);
2394
2390
      }
2395
2391
          
2396
2392
      fvo_entry = xml_tree->child;
2423
2419
                else if(!strcasecmp(ssentry->name, "FILE")) {
2424
2420
 
2425
2421
                  if(origin) {
2426
 
                    url = (char *) xine_xmalloc(strlen(origin) + strlen(ssentry->data) + 2);
2427
 
                    strcat(url, origin);
 
2422
                    const size_t urlsize = strlen(origin) + strlen(ssentry->data) + 2;
 
2423
                    url = (char *) xine_xmalloc(urlsize);
 
2424
                    strlcat(url, origin, urlsize);
2428
2425
                    
2429
2426
                    if((url[strlen(url) - 1] == '/') && (*ssentry->data == '/'))
2430
2427
                      url[strlen(url) - 1] = '\0';
2431
2428
                    
2432
 
                    strcat(url, ssentry->data);
 
2429
                    strlcat(url, ssentry->data, urlsize);
2433
2430
                    
2434
2431
                  }
2435
2432
                  else