libbluray | branch: master | hpi1 <[email protected]> | Mon Mar 21 13:19:51 2011 +0200| [a103cbce69da0ddd1742cd1c46e7634d38607afb] | committer: hpi1
Moved string_to_uint32 to strutl.c > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=a103cbce69da0ddd1742cd1c46e7634d38607afb --- src/libbluray/bluray.c | 25 ++----------------------- src/util/strutl.c | 20 ++++++++++++++++++++ src/util/strutl.h | 4 ++++ 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c index 138ab01..f1b55fe 100644 --- a/src/libbluray/bluray.c +++ b/src/libbluray/bluray.c @@ -1543,37 +1543,16 @@ int bd_set_player_setting(BLURAY *bd, uint32_t idx, uint32_t value) return 0; } -static uint32_t _string_to_uint32(const char *s, int n) -{ - uint32_t val = 0; - - if (n > 4) - n = 4; - - if (!s || !*s) { - return (INT64_C(1) << (8*n)) - 1; /* default: all bits one */ - } - - while (n--) { - val = (val << 8) | *s; - if (*s) { - s++; - } - } - - return val; -} - int bd_set_player_setting_str(BLURAY *bd, uint32_t idx, const char *s) { switch (idx) { case BLURAY_PLAYER_SETTING_AUDIO_LANG: case BLURAY_PLAYER_SETTING_PG_LANG: case BLURAY_PLAYER_SETTING_MENU_LANG: - return bd_set_player_setting(bd, idx, _string_to_uint32(s, 3)); + return bd_set_player_setting(bd, idx, str_to_uint32(s, 3)); case BLURAY_PLAYER_SETTING_COUNTRY_CODE: - return bd_set_player_setting(bd, idx, _string_to_uint32(s, 2)); + return bd_set_player_setting(bd, idx, str_to_uint32(s, 2)); default: return 0; diff --git a/src/util/strutl.c b/src/util/strutl.c index 28e3154..acc4b06 100644 --- a/src/util/strutl.c +++ b/src/util/strutl.c @@ -58,3 +58,23 @@ char * str_printf(const char *fmt, ...) } } +uint32_t str_to_uint32(const char *s, int n) +{ + uint32_t val = 0; + + if (n > 4) + n = 4; + + if (!s || !*s) { + return (INT64_C(1) << (8*n)) - 1; /* default: all bits one */ + } + + while (n--) { + val = (val << 8) | *s; + if (*s) { + s++; + } + } + + return val; +} diff --git a/src/util/strutl.h b/src/util/strutl.h index 0cded16..aa00095 100644 --- a/src/util/strutl.h +++ b/src/util/strutl.h @@ -22,6 +22,10 @@ #include "attributes.h" +#include <stdint.h> + BD_PRIVATE char * str_printf(const char *fmt, ...) BD_ATTR_FORMAT_PRINTF(1,2) BD_ATTR_MALLOC; +BD_PRIVATE uint32_t str_to_uint32(const char *s, int n); + #endif // STRUTL_H_ _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
