diff -up UpTools-8.5.4/include/UpTools/UpOp.h.s390 UpTools-8.5.4/include/UpTools/UpOp.h --- UpTools-8.5.4/include/UpTools/UpOp.h.s390 2011-03-25 15:14:26.000000000 +0100 +++ UpTools-8.5.4/include/UpTools/UpOp.h 2011-03-25 15:49:59.000000000 +0100 @@ -66,7 +66,7 @@ std::string& operator<<( std::string& s std::string& operator<<( std::string& s , long long d ); std::string& operator<<( std::string& s , unsigned long long d ); std::string& operator<<( std::string& s , bool b ); -#if __WORDSIZE==64 +#if __WORDSIZE==64 || defined(__s390__) std::string& operator<<( std::string& s , size_t b ); #endif @@ -77,7 +77,7 @@ float& operator<<( float& long long& operator<<( long long& d , const std::string& s ); unsigned long long& operator<<( unsigned long long& d, const std::string& s ); bool& operator<<( bool& b , const std::string& s ); -#if __WORDSIZE==64 +#if __WORDSIZE==64 || defined(__s390__) size_t& operator<<( size_t& b , const std::string& s ); #endif diff -up UpTools-8.5.4/UpOp.cc.s390 UpTools-8.5.4/UpOp.cc --- UpTools-8.5.4/UpOp.cc.s390 2011-03-25 15:14:42.000000000 +0100 +++ UpTools-8.5.4/UpOp.cc 2011-03-25 15:49:19.000000000 +0100 @@ -42,7 +42,7 @@ ///////////////////////////////////////////////////////////////////// -#if __WORDSIZE==64 +#if __WORDSIZE==64 || defined(__s390__) std::string& operator<<(std::string& s,size_t n) { char buf[32],*p=buf+31; *p=0; do { *(--p) = '0'+(n%10); } while(n/=10); @@ -127,7 +127,7 @@ unsigned long long& operator<<(unsigned return n; } -#if __WORDSIZE==64 +#if __WORDSIZE==64 || defined(__s390__) size_t& operator<<(size_t& n,const std::string& s) { size_t len = s.size(); if(len==0) return (n=0);