> > Maybe str_dup()? (its defined in utils.c) > > Don't even think about doing that !!!!!!!!!!!! > This is the classical example of a memory leak ! > > Everytime you pass this point you will have some bytes of > memory less and some garbage more in memory until you crash. > Excerpt from a man page follows: ------------------------------------------------------------------------ NAME strdup - duplicate a string SYNOPSIS #include <string.h> char *strdup(const char *s); DESCRIPTION The strdup() function returns a pointer to a new string which is a duplicate of the string s. Memory for the new string is obtained with malloc(3), and can be freed with free(3). RETURN VALUE The strdup() function returns a pointer to the duplicated string, or NULL if insufficient memory was available. ERRORS ENOMEM Insufficient memory available to allocate duplicate string. ----------------------------------------------------------------------- end of man page excerpt. How on earth does returning a strdup create a memory leak? If value is freed when your done with it, there is no leak. This call seems to be just an enhanced malloc.... Not being argumentative, I just don't understand.
This archive was generated by hypermail 2b30 : 12/07/00 PST