summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArseny Kapoulkine <arseny.kapoulkine@gmail.com>2016-01-19 08:46:33 -0800
committerArseny Kapoulkine <arseny.kapoulkine@gmail.com>2016-01-19 21:17:08 -0800
commit7aef75f43dc59e407b6b158f126959bc5811c642 (patch)
tree8cbbe10007b3d31d3fb8de9bf933bbc99ba73035
parentc388dbeba4f5de655ca74eb21d0a6d29c5eaaee2 (diff)
docs: Adjust as_int documentation to match implementation
Also remove the description of behavior for trailing non-numeric characters. It's likely this will become a parse error in the future so better leave it as unspecified for now. Fixes #80.
-rw-r--r--docs/manual.adoc4
-rw-r--r--docs/manual.html6
2 files changed, 5 insertions, 5 deletions
diff --git a/docs/manual.adoc b/docs/manual.adoc
index 1d8d88a..56ebc07 100644
--- a/docs/manual.adoc
+++ b/docs/manual.adoc
@@ -934,9 +934,9 @@ long long xml_attribute::as_llong(long long def = 0) const;
unsigned long long xml_attribute::as_ullong(unsigned long long def = 0) const;
----
-`as_int`, `as_uint`, `as_llong`, `as_ullong`, `as_double` and `as_float` convert attribute values to numbers. If attribute handle is null or attribute value is empty, `def` argument is returned (which is 0 by default). Otherwise, all leading whitespace characters are truncated, and the remaining string is parsed as an integer number in either decimal or hexadecimal form (applicable to `as_int`, `as_uint`, `as_llong` and `as_ullong`; hexadecimal format is used if the number has `0x` or `0X` prefix) or as a floating point number in either decimal or scientific form (`as_double` or `as_float`). Any extra characters are silently discarded, i.e. `as_int` will return `1` for string `"1abc"`.
+`as_int`, `as_uint`, `as_llong`, `as_ullong`, `as_double` and `as_float` convert attribute values to numbers. If attribute handle is null `def` argument is returned (which is 0 by default). Otherwise, all leading whitespace characters are truncated, and the remaining string is parsed as an integer number in either decimal or hexadecimal form (applicable to `as_int`, `as_uint`, `as_llong` and `as_ullong`; hexadecimal format is used if the number has `0x` or `0X` prefix) or as a floating point number in either decimal or scientific form (`as_double` or `as_float`).
-In case the input string contains a number that is out of the target numeric range, the result is undefined.
+In case the input string contains a non-numeric character sequence or a number that is out of the target numeric range, the result is undefined.
CAUTION: Number conversion functions depend on current C locale as set with `setlocale`, so may return unexpected results if the locale is different from `"C"`.
diff --git a/docs/manual.html b/docs/manual.html
index 7d3a87a..588fc1a 100644
--- a/docs/manual.html
+++ b/docs/manual.html
@@ -2105,10 +2105,10 @@ In many cases attribute values have types that are not strings - i.e. an attribu
</div>
</div>
<div class="paragraph">
-<p><code>as_int</code>, <code>as_uint</code>, <code>as_llong</code>, <code>as_ullong</code>, <code>as_double</code> and <code>as_float</code> convert attribute values to numbers. If attribute handle is null or attribute value is empty, <code>def</code> argument is returned (which is 0 by default). Otherwise, all leading whitespace characters are truncated, and the remaining string is parsed as an integer number in either decimal or hexadecimal form (applicable to <code>as_int</code>, <code>as_uint</code>, <code>as_llong</code> and <code>as_ullong</code>; hexadecimal format is used if the number has <code>0x</code> or <code>0X</code> prefix) or as a floating point number in either decimal or scientific form (<code>as_double</code> or <code>as_float</code>). Any extra characters are silently discarded, i.e. <code>as_int</code> will return <code>1</code> for string <code>"1abc"</code>.</p>
+<p><code>as_int</code>, <code>as_uint</code>, <code>as_llong</code>, <code>as_ullong</code>, <code>as_double</code> and <code>as_float</code> convert attribute values to numbers. If attribute handle is null <code>def</code> argument is returned (which is 0 by default). Otherwise, all leading whitespace characters are truncated, and the remaining string is parsed as an integer number in either decimal or hexadecimal form (applicable to <code>as_int</code>, <code>as_uint</code>, <code>as_llong</code> and <code>as_ullong</code>; hexadecimal format is used if the number has <code>0x</code> or <code>0X</code> prefix) or as a floating point number in either decimal or scientific form (<code>as_double</code> or <code>as_float</code>).</p>
</div>
<div class="paragraph">
-<p>In case the input string contains a number that is out of the target numeric range, the result is undefined.</p>
+<p>In case the input string contains a non-numeric character sequence or a number that is out of the target numeric range, the result is undefined.</p>
</div>
<div class="admonitionblock caution">
<table>
@@ -5588,7 +5588,7 @@ If exceptions are disabled, then in the event of parsing failure the query is in
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2015-12-31 17:18:47 MSK
+Last updated 2016-01-19 08:45:46 PST
</div>
</div>
</body>