Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C > Re: type-punnin...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 6 of 16 Topic 26091 of 26972
Post > Topic >>

Re: type-punning?

by j.j.fishbat@[EMAIL PROTECTED] May 6, 2008 at 11:17 AM

Hi

> This doesn't fix the problem. This merely reorganises the code in a form
> that the compiler may happen to not warn about.
>
> The problem is that dat is defined as char *. You can't pretend it's
> defined as a void *. The language doesn't let you.

are you saying that

---
int foo(void* bar)
{
  char *st = (char*)bar;
     :
}

 :
 :

char *bar;
 :

foo((void*)bar);
---

is not possible in C?

Are we using the same language?

> A fixed version looks
> like
>
> #include <stdlib.h>
> #include <stdio.h>
>
> static void *punme(void *dat, size_t newsize) {
>   return realloc(dat, newsize);
>
> }
>
> int main (void)
> {
>   char *dat = malloc(30);
>   char *newdat = punme(dat, 40); /* or call realloc directly */
>   if (newdat != NULL) dat = newdat;
>   printf("punme would have returned %d\n", (newdat == NULL ? 1 : 0));
>   return 0;
>
> }

Part of the "inessential detail" omitted is that
I use the return value of punme() for other purposes,
I specifically want to modify dat (char*) which I pass
to punme() by reference.

Is there really no way at all to modify a generic
pointer by passing a reference to it to a function?
Are C programmers condemned to return structs
(one member of which is the void* modified) whenever
we want to do generic programming??

Thanks!
 




 16 Posts in Topic:
type-punning?
j.j.fishbat@[EMAIL PROTEC  2008-05-06 08:46:00 
Re: type-punning?
vippstar@[EMAIL PROTECTED  2008-05-06 09:43:53 
Re: type-punning?
Harald van =?UTF-8?b?RMSz  2008-05-06 19:35:00 
Re: type-punning?
Andrey Tarasevich <and  2008-05-06 11:05:25 
Re: type-punning?
lawrence.jones@[EMAIL PRO  2008-05-06 14:39:47 
Re: type-punning?
j.j.fishbat@[EMAIL PROTEC  2008-05-06 11:17:38 
Re: type-punning?
Andrey Tarasevich <and  2008-05-06 11:24:55 
Re: type-punning?
Harald van =?UTF-8?b?RMSz  2008-05-06 20:32:01 
Re: type-punning?
Kenneth Brody <kenbrod  2008-05-06 14:34:57 
Re: type-punning?
Harald van =?UTF-8?b?RMSz  2008-05-06 20:50:08 
Re: type-punning?
j.j.fishbat@[EMAIL PROTEC  2008-05-06 11:56:36 
Re: type-punning?
Kenneth Brody <kenbrod  2008-05-06 16:26:19 
Re: type-punning?
Kaz Kylheku <kkylheku@  2008-05-06 14:02:24 
Re: type-punning?
Harald van =?UTF-8?b?RMSz  2008-05-06 23:11:51 
Re: type-punning?
"Default User"   2008-05-06 22:49:07 
Re: type-punning?
Ben Bacarisse <ben.use  2008-05-06 22:17:42 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 16:03:34 CDT 2008.