Menu

#39 Compile on Mac OS X file.h uint64 bigendian

closed-fixed
nobody
None
5
2014-07-18
2006-03-03
Fred Leason
No

This compiled on previous versions of Mac OS X but not the most
recent.

Using powerpc-apple-darwin8-gcc-4.0.1 xcode 2.2.1 nget does not
compile. Error messages on make:
g++ -g -O2 -Wall -MMD -MP -DHAVE_CONFIG_H -Iuulib -c -o
nget.o nget.cc
In file included from cache.h:31,
from prot_nntp.h:26,
from nget.cc:48:
file.h:96: error: integer constant is too large for 'long' type
file.h:96: error: integer constant is too large for 'long' type
file.h:96: error: integer constant is too large for 'long' type
file.h:96: error: integer constant is too large for 'long' type
file.h: In member function 'void c_file::read_le_u64(uint64_t*)':
file.h:96: error: 'UINT64_C' was not declared in this scope
make: *** [nget.o] Error 1

Offending code:

public:
const char *name(void){return m_name.c_str();}
char * rbufp(void){return rbuffer->cbufp();}

c\_file\(const char \*fname\);
virtual ~c\_file\(\);
ssize\_t putf\(const char \*buf,...\)
    \_\_attribute\_\_ \(\(format \(printf, 2, 3\)\)\);
ssize\_t vputf\(const char \*buf, va\_list ap\);
ssize\_t write\(const void \*data,size\_t len\);
ssize\_t read\(void \*data,size\_t len\);
void readfull\(void \*data,size\_t len\);
void read\_le\_u32\(uint32\_t \*i\)\{
    readfull\(i, 4\);

#ifdef WORDS_BIGENDIAN
*i = SWAP32(*i);
#endif
}
void read_le_u64(uint64_t *i){
readfull(i, 8);
#ifdef WORDS_BIGENDIAN
*i = SWAP64(*i); /* LINE 96 */
#endif
}

Discussion

  • yacht

    yacht - 2008-03-02

    Logged In: YES
    user_id=1225330
    Originator: NO

    Submitted patch #1905902 to resolve this issue.

     
  • Matthew Mueller

    Matthew Mueller - 2008-03-03
    • status: open --> closed-fixed
     
  • Matthew Mueller

    Matthew Mueller - 2008-03-03

    Logged In: YES
    user_id=65253
    Originator: NO

    Patch applied to CVS, thanks.

     

Log in to post a comment.