From 8f1ec1dfdf31d70561eb14ae89a2e6cf9291f521 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 21 Oct 2013 09:48:31 +0200 Subject: util/NumberParser: utilities for parsing numbers from ASCII strings --- src/encoder/LameEncoderPlugin.cxx | 7 +++---- src/encoder/TwolameEncoderPlugin.cxx | 7 +++---- src/encoder/VorbisEncoderPlugin.cxx | 5 +++-- 3 files changed, 9 insertions(+), 10 deletions(-) (limited to 'src/encoder') diff --git a/src/encoder/LameEncoderPlugin.cxx b/src/encoder/LameEncoderPlugin.cxx index a5b7be483..06082d16b 100644 --- a/src/encoder/LameEncoderPlugin.cxx +++ b/src/encoder/LameEncoderPlugin.cxx @@ -22,6 +22,7 @@ #include "EncoderAPI.hxx" #include "AudioFormat.hxx" #include "ConfigError.hxx" +#include "util/NumberParser.hxx" #include "util/ReusableArray.hxx" #include "util/Manual.hxx" #include "util/Error.hxx" @@ -29,8 +30,6 @@ #include -#include - #include #include @@ -63,7 +62,7 @@ LameEncoder::Configure(const config_param ¶m, Error &error) if (value != nullptr) { /* a quality was configured (VBR) */ - quality = g_ascii_strtod(value, &endptr); + quality = ParseDouble(value, &endptr); if (*endptr != '\0' || quality < -1.0 || quality > 10.0) { error.Format(config_domain, @@ -89,7 +88,7 @@ LameEncoder::Configure(const config_param ¶m, Error &error) } quality = -2.0; - bitrate = g_ascii_strtoll(value, &endptr, 10); + bitrate = ParseInt(value, &endptr); if (*endptr != '\0' || bitrate <= 0) { error.Set(config_domain, diff --git a/src/encoder/TwolameEncoderPlugin.cxx b/src/encoder/TwolameEncoderPlugin.cxx index 6862173f7..543e71d64 100644 --- a/src/encoder/TwolameEncoderPlugin.cxx +++ b/src/encoder/TwolameEncoderPlugin.cxx @@ -22,14 +22,13 @@ #include "EncoderAPI.hxx" #include "AudioFormat.hxx" #include "ConfigError.hxx" +#include "util/NumberParser.hxx" #include "util/Error.hxx" #include "util/Domain.hxx" #include "Log.hxx" #include -#include - #include #include @@ -69,7 +68,7 @@ TwolameEncoder::Configure(const config_param ¶m, Error &error) if (value != nullptr) { /* a quality was configured (VBR) */ - quality = g_ascii_strtod(value, &endptr); + quality = ParseDouble(value, &endptr); if (*endptr != '\0' || quality < -1.0 || quality > 10.0) { error.Format(config_domain, @@ -95,7 +94,7 @@ TwolameEncoder::Configure(const config_param ¶m, Error &error) } quality = -2.0; - bitrate = g_ascii_strtoll(value, &endptr, 10); + bitrate = ParseInt(value, &endptr); if (*endptr != '\0' || bitrate <= 0) { error.Set(config_domain, diff --git a/src/encoder/VorbisEncoderPlugin.cxx b/src/encoder/VorbisEncoderPlugin.cxx index 1a2aa1a03..6831ca877 100644 --- a/src/encoder/VorbisEncoderPlugin.cxx +++ b/src/encoder/VorbisEncoderPlugin.cxx @@ -25,6 +25,7 @@ #include "tag/Tag.hxx" #include "AudioFormat.hxx" #include "ConfigError.hxx" +#include "util/NumberParser.hxx" #include "util/Error.hxx" #include "util/Domain.hxx" @@ -67,7 +68,7 @@ vorbis_encoder_configure(struct vorbis_encoder *encoder, /* a quality was configured (VBR) */ char *endptr; - encoder->quality = g_ascii_strtod(value, &endptr); + encoder->quality = ParseDouble(value, &endptr); if (*endptr != '\0' || encoder->quality < -1.0 || encoder->quality > 10.0) { @@ -96,7 +97,7 @@ vorbis_encoder_configure(struct vorbis_encoder *encoder, encoder->quality = -2.0; char *endptr; - encoder->bitrate = g_ascii_strtoll(value, &endptr, 10); + encoder->bitrate = ParseInt(value, &endptr); if (*endptr != '\0' || encoder->bitrate <= 0) { error.Set(config_domain, "bitrate should be a positive integer"); -- cgit v1.2.3