const'ify our strtod() helper functions

The C library doesn't use const char pointers for legacy reasons (and
because you *can* modify the string the end pointer points to), but
let's do it in our internal implementation just because it's a nice
guarantee to have.

We actually used to have a non-const end pointer and replace a decimal
comma with a decimal dot, but that was because we didn't have the fancy
"allow commas" flags.  So by using our own strtod_flags() function, we
can now keep all the strings we parse read-only rather than modify them
as we parse them.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2014-01-08 14:51:22 +08:00 committed by Dirk Hohndel
parent 19b982d3df
commit 2d1d78ebfe
4 changed files with 11 additions and 11 deletions

View file

@ -29,9 +29,10 @@
#include <ctype.h>
#include "dive.h"
double strtod_flags(char *str, char **ptr, unsigned int flags)
double strtod_flags(const char *str, const char **ptr, unsigned int flags)
{
char *p = str, c, *ep;
char c;
const char *p = str, *ep;
double val = 0.0;
double decimal = 1.0;
int sign = 0, esign = 0;