From 58502b38d3eaf5649c9e09b6af6ea84d726dccd1 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 17 Oct 2013 21:53:19 +0200 Subject: *: use std::numeric_limits --- src/protocol/ArgParser.cxx | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'src/protocol') diff --git a/src/protocol/ArgParser.cxx b/src/protocol/ArgParser.cxx index 6bd53a358..e96aaf1c8 100644 --- a/src/protocol/ArgParser.cxx +++ b/src/protocol/ArgParser.cxx @@ -21,7 +21,8 @@ #include "ArgParser.hxx" #include "Result.hxx" -#include +#include + #include bool @@ -51,13 +52,12 @@ check_int(Client *client, int *value_r, const char *s) return false; } -#if G_MAXLONG > G_MAXINT - if (value < G_MININT || value > G_MAXINT) { + if (value < std::numeric_limits::min() || + value > std::numeric_limits::max()) { command_error(client, ACK_ERROR_ARG, "Number too large: %s", s); return false; } -#endif *value_r = (int)value; return true; @@ -81,7 +81,7 @@ check_range(Client *client, unsigned *value_r1, unsigned *value_r2, /* compatibility with older MPD versions: specifying "-1" makes MPD display the whole list */ *value_r1 = 0; - *value_r2 = G_MAXUINT; + *value_r2 = std::numeric_limits::max(); return true; } @@ -91,13 +91,11 @@ check_range(Client *client, unsigned *value_r1, unsigned *value_r2, return false; } -#if G_MAXLONG > G_MAXUINT - if (value > G_MAXUINT) { + if (unsigned(value) > std::numeric_limits::max()) { command_error(client, ACK_ERROR_ARG, "Number too large: %s", s); return false; } -#endif *value_r1 = (unsigned)value; @@ -110,7 +108,7 @@ check_range(Client *client, unsigned *value_r1, unsigned *value_r2, } if (test == test2) - value = G_MAXUINT; + value = std::numeric_limits::max(); if (value < 0) { command_error(client, ACK_ERROR_ARG, @@ -118,13 +116,12 @@ check_range(Client *client, unsigned *value_r1, unsigned *value_r2, return false; } -#if G_MAXLONG > G_MAXUINT - if (value > G_MAXUINT) { + if (unsigned(value) > std::numeric_limits::max()) { command_error(client, ACK_ERROR_ARG, "Number too large: %s", s); return false; } -#endif + *value_r2 = (unsigned)value; } else { *value_r2 = (unsigned)value + 1; @@ -146,7 +143,7 @@ check_unsigned(Client *client, unsigned *value_r, const char *s) return false; } - if (value > G_MAXUINT) { + if (value > std::numeric_limits::max()) { command_error(client, ACK_ERROR_ARG, "Number too large: %s", s); return false; -- cgit v1.2.3