On Fri, Nov 30, 2012 at 11:00:52AM +0100, Dieter Bloms wrote: > > I changed it this way: > > --snip-- > 32 bool tComponent::FromString(const char *s) > 33 { > 34 unsigned int Stream, Type; > 35 description = NULL; > 36 int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1 > 37 esyslog("dbloms: \"%X\" \"%02X\" \"%7s\" \"%a\"", Stream, Type, language, description); > 38 > 39 if (n != 4 || isempty(description)) { > 40 free(description); > 41 description = NULL; > 42 } > 43 stream = Stream; > 44 type = Type; > 45 return n >= 3; > 46 } > --snip-- IMHO the %a should become %s in esyslog() whereas in sscanf() the %a should become %as for the GNU extension of dynamically allocating string conversions. Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr