INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Jobs

C language: error: cast from pointer to integer of different size

C language: error: cast from pointer to integer of different size

C language: error: cast from pointer to integer of different size

(OP)
I'm using Windows-7 64bit, with gcc V5.2, with MinGW, and trying to compile portablexdr-4.9.1

This piece of C

static bool_t
xdrmem_setpos(xdrs, pos)
register XDR *xdrs;
u_int pos;
{
register caddr_t newaddr = xdrs->x_base + pos;
register caddr_t lastaddr = xdrs->x_private + xdrs->x_handy;

if ((long)newaddr > (long)lastaddr) <== error here
return (FALSE);
xdrs->x_private = newaddr;
xdrs->x_handy = lastaddr - newaddr;
return (TRUE);
}

produces this error

xdr_mem.c: In function 'xdrmem_setpos':
xdr_mem.c:172:6: error: cast from pointer to integer of different size [-Werror=
pointer-to-int-cast]
if ((long)newaddr > (long)lastaddr)
^
xdr_mem.c:172:22: error: cast from pointer to integer of different size [-Werror
=pointer-to-int-cast]
if ((long)newaddr > (long)lastaddr)

How do I fix it?

Thank you.

RE: C language: error: cast from pointer to integer of different size

Do you happen know what XDR and caddr_t are? (This is why I hate excessive typedef-ing. All it does is disguise what it's base-type truly is, which is not something you want to disguise anyway!)

It also looks like very old code. It's using the old-school function prototype.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close