From 8f1ec1dfdf31d70561eb14ae89a2e6cf9291f521 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
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 <lame/lame.h>
 
-#include <glib.h>
-
 #include <assert.h>
 #include <string.h>
 
@@ -63,7 +62,7 @@ LameEncoder::Configure(const config_param &param, 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 &param, 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 <twolame.h>
 
-#include <glib.h>
-
 #include <assert.h>
 #include <string.h>
 
@@ -69,7 +68,7 @@ TwolameEncoder::Configure(const config_param &param, 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 &param, 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