vlc | branch: master | Ilkka Ollakka <[email protected]> | Mon Mar 21 21:31:30 2011 +0200| [9914cd554d1f24bc0149e2ca05b41d227c6e11bf] | committer: Ilkka Ollakka
dvb: do decode_BCD without asprintf > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9914cd554d1f24bc0149e2ca05b41d227c6e11bf --- modules/access/dvb/scan.c | 13 +++++-------- 1 files changed, 5 insertions(+), 8 deletions(-) diff --git a/modules/access/dvb/scan.c b/modules/access/dvb/scan.c index 7c0c23b..f5e3028 100644 --- a/modules/access/dvb/scan.c +++ b/modules/access/dvb/scan.c @@ -150,15 +150,12 @@ static void scan_service_Delete( scan_service_t *p_srv ) static int decode_BCD( uint32_t input, uint32_t *output ) { - char *psz_decoded=""; - do + *output = 0; + for( short index=28; index >= 0 ; index -= 4 ) { - if(asprintf( &psz_decoded, "%1d%1d%s", ( input & 0xf0 ) >> 4, input & 0x0f, psz_decoded ? psz_decoded : "" ) < 0 ) - return VLC_ENOMEM; - input >>= 8; - } while( input ); - *output = atol( psz_decoded ); - free( psz_decoded ); + *output *= 10; + *output += ((input >> index) & 0x0f); + }; return VLC_SUCCESS; } _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
