# HG changeset patch # User michael # Date 1169463687 0 # Node ID 18b502ad97f1e9c7c9ef4b8fe8de51d6b25d35b2 # Parent 90be497b752bc6cf77314e0a84b09cf34e3d0ea2 simplify diff -r 90be497b752b -r 18b502ad97f1 asf.c --- a/asf.c Mon Jan 22 10:53:57 2007 +0000 +++ b/asf.c Mon Jan 22 11:01:27 2007 +0000 @@ -339,7 +339,7 @@ { int name_len,value_type,value_len; uint64_t value_num = 0; - char *name, *value; + char *name; name_len = get_le16(pb); name = av_malloc(name_len * 2); @@ -348,12 +348,8 @@ value_len = get_le16(pb); if ((value_type == 0) || (value_type == 1)) // unicode or byte { - value = av_malloc(value_len * 2); - get_str16_nolen(pb, value_len, value, - value_len * 2); - if (strcmp(name,"WM/AlbumTitle")==0) { pstrcpy(s->album, sizeof(s->album), value); } - if (strcmp(name,"WM/Genre")==0) { pstrcpy(s->genre, sizeof(s->genre), value); } - av_free(value); + if (!strcmp(name,"WM/AlbumTitle")) get_str16_nolen(pb, value_len, s->album, sizeof(s->album)); + if (!strcmp(name,"WM/Genre" )) get_str16_nolen(pb, value_len, s->genre, sizeof(s->genre)); } if ((value_type >= 2) && (value_type <= 5)) // boolean or DWORD or QWORD or WORD {