Han Boetes <[EMAIL PROTECTED]> writes: > While looking at some compilerwarnings I found an alloca and an > strcpy. And I realized this can also be done as follows: > > > Index: xterm.c > =================================================================== > RCS file: /cvsroot/emacs/emacs/src/xterm.c,v > retrieving revision 1.864 > diff -u -p -r1.864 xterm.c > --- xterm.c 10 May 2005 09:19:19 -0000 1.864 > +++ xterm.c 21 May 2005 16:23:31 -0000 > @@ -7635,8 +7635,9 @@ x_connection_closed (dpy, error_message) > Lisp_Object frame, tail; > int count; > > - error_msg = (char *) alloca (strlen (error_message) + 1); > - strcpy (error_msg, error_message); > + if ((error_msg = strdup(error_message)) == NULL) > + errx(1, "Out of memory."); > + > handling_signal = 0; > > /* Prevent being called recursively because of an error condition > > > Advantages are: > > - simpler code > - strdup is more portable > - error handling > - you don't have to worry about strdup concerning security > > I hope you like the idea.
Disadvantage: memory leak. I don't like it. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum _______________________________________________ Emacs-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-devel
