06-21-2014
When wanting to provide an address to a called pointer
Your code crashes because you are passing the address that "name" is pointing to
which is null.
So what you must do is pass the address of name as
int ConvertIDToName(void *id, void *&name, size_t *size) { int status = 0; unsigned char *xIDname = "user4.microsoft.com"; *name = (unsigned char*)malloc(30); /* this will work with the change */ memcpy(*name, xIDName, *size); ... return(0); }
---------- Post updated at 08:08 AM ---------- Previous update was at 08:05 AM ----------
int ConvertIDToName(void *id, void *&name, size_t *size) { int status = 0; unsigned char *xIDname = "user4.microsoft.com"; *name = (unsigned char*)malloc(30); memcpy(*name, xIDName, *size); ... return(0); }
This User Gave Thanks to lsatenstein For This Post:
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
First and foremost, this is not a homework for your information. I'm just new to using c-shell programming and I just wanted to make my life easier @ work.
Say, the file contains the following:
ID FILE NO. SL VP
1 1 22 33
1 2 ... (3 Replies)
Discussion started by: ilak1008
3 Replies
2. Programming
Hello all
im trying to build function that will return void function pointer
what is mean is ( not working )
the main function
void * myClass::getFunction(int type){
if(type==1)
return &myClass::Test1;
if(type==2)
return &myClass::Test2;
}
void myClass::Test1(){... (1 Reply)
Discussion started by: umen
1 Replies
3. Programming
What is the difference between f(...) , f(void),f()
I know that f(void) doesn't take any parameters, but what about f() and f(...) Does the last call of function even exists? (2 Replies)
Discussion started by: purplelightspar
2 Replies
4. UNIX for Dummies Questions & Answers
void asdf(char *asd)
is this thing a pointer? (1 Reply)
Discussion started by: khestoi
1 Replies
5. Programming
If one wants to get a start address of a array or a string or a block of memory via a function, there are at least two methods to achieve it:
(1) one is to pass a pointer-to-pointer parameter, like:
int my_malloc(int size, char **pmem)
{
*pmem=(char *)malloc(size);
if(*pmem==NULL)... (11 Replies)
Discussion started by: aaronwong
11 Replies
6. Programming
N00B here. This function would be easier using a char pointer along with free. But I wish to learn how to use char static pointers (they do not require free, right ?).
How do I erase the content of a static pointer ? Terminating the string works but the static pointer's content is not being... (4 Replies)
Discussion started by: limmer
4 Replies
7. Shell Programming and Scripting
Hi,
I need to eliminate each second void line in a text file.
novus
MILLENNIO
ineo
frater
in
episcopatus
,
presbyter
et
diacon|diaconus
, (1 Reply)
Discussion started by: mjomba
1 Replies
8. HP-UX
i am trying to convert void pointer to pthread_t on hpux-itanium 64 bit which fails as below
"src/file.cpp", line 88: error #2171: invalid type conversion
pthread_t tid = reinterpret_cast<pthread_t>(m_threadId);
1 error detected in the compilation of "src/file.cpp"
... (0 Replies)
Discussion started by: skyineyes
0 Replies
9. Programming
hi guys!
Is there such a thing as double void pointer dynamic allocation?
And if so is it something like this?
int n;
void** a;
a=malloc(n*sizeof(void*)); (12 Replies)
Discussion started by: vlm
12 Replies
MALLOC(2) System Calls Manual MALLOC(2)
NAME
malloc, free, realloc, calloc - memory allocator
SYNOPSIS
#include <u.h>
#include <libc.h>
void* malloc(long size)
void free(void *ptr)
void* realloc(void *ptr, long size)
void* calloc(long nelem, long elsize)
DESCRIPTION
Malloc and free provide a simple memory allocation package. Malloc returns a pointer to a new block of at least size bytes. The block is
suitably aligned for storage of any type of object. No two active pointers from malloc will have the same value.
The argument to free is a pointer to a block previously allocated by malloc; this space is made available for further allocation. It is
legal to free a null pointer; the effect is a no-op.
Realloc changes the size of the block pointed to by ptr to size bytes and returns a pointer to the (possibly moved) block. The contents
will be unchanged up to the lesser of the new and old sizes. The call realloc(0, size) means the same as
Calloc allocates space for an array of nelem elements of size elsize. The space is initialized to zeros. Free frees such a block.
Alef
Except for calloc, these routines are available from Alef; they use the same arena as alloc. Malloc and realloc execute a check when they
fail, rather than return nil. Memory returned by malloc is cleared. Realloc does not guarantee new memory is cleared unless ptr is nil.
SOURCE
/sys/src/libc/port/malloc.c
SEE ALSO
brk(2)
DIAGNOSTICS
Malloc, realloc and calloc return 0 if there is no available memory. Errstr is likely to be set.
BUGS
The different specification of calloc is bizarre.
User errors can corrupt the storage arena. The most common gaffes are (1) freeing an already freed block, (2) storing beyond the bounds of
an allocated block, and (3) freeing data that was not obtained from the allocator. When malloc and free detect such corruption, they
abort.
MALLOC(2)