Blame packages/e/exiv2/always-use-signed-char-for-conversion.patch
|
Bernhard M. Wiedemann |
514c2a |
Treat std::string characters always as signed char
|
|
Bernhard M. Wiedemann |
514c2a |
even on architectures where char is unsigned.
|
|
Bernhard M. Wiedemann |
514c2a |
|
|
Bernhard M. Wiedemann |
514c2a |
Fixes missing testsuite exceptions.
|
|
Bernhard M. Wiedemann |
514c2a |
|
|
Bernhard M. Wiedemann |
514c2a |
--- a/src/value.cpp
|
|
Bernhard M. Wiedemann |
514c2a |
+++ b/src/value.cpp
|
|
Bernhard M. Wiedemann |
514c2a |
@@ -352,13 +352,13 @@ namespace Exiv2 {
|
|
Bernhard M. Wiedemann |
514c2a |
long StringValueBase::toLong(long n) const
|
|
Bernhard M. Wiedemann |
514c2a |
{
|
|
Bernhard M. Wiedemann |
514c2a |
ok_ = true;
|
|
Bernhard M. Wiedemann |
514c2a |
- return value_.at(n);
|
|
Bernhard M. Wiedemann |
514c2a |
+ return static_cast<long>(static_cast<signed char>(value_.at(n)));
|
|
Bernhard M. Wiedemann |
514c2a |
}
|
|
Bernhard M. Wiedemann |
514c2a |
|
|
Bernhard M. Wiedemann |
514c2a |
float StringValueBase::toFloat(long n) const
|
|
Bernhard M. Wiedemann |
514c2a |
{
|
|
Bernhard M. Wiedemann |
514c2a |
ok_ = true;
|
|
Bernhard M. Wiedemann |
514c2a |
- return value_.at(n);
|
|
Bernhard M. Wiedemann |
514c2a |
+ return static_cast<float>(static_cast<signed char>(value_.at(n)));
|
|
Bernhard M. Wiedemann |
514c2a |
}
|
|
Bernhard M. Wiedemann |
514c2a |
|
|
Bernhard M. Wiedemann |
514c2a |
Rational StringValueBase::toRational(long n) const
|