- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- *new_msg = *m;
- new_msg->text = strdup(m->text);
+ new_msg = xmemdup (m, sizeof *m);
+ if (m->where.file_name != NULL)
+ new_msg->where.file_name = xstrdup (m->where.file_name);
+ new_msg->text = xstrdup (m->text);
+/* Frees a message created by msg_dup().
+
+ (Messages not created by msg_dup(), as well as their where.file_name
+ members, are typically not dynamically allocated, so this function should
+ not be used to destroy them.) */
fprintf (stderr, "version: %s\n", stat_version);
fprintf (stderr, "host_system: %s\n", host_system);
fprintf (stderr, "build_system: %s\n", build_system);
fprintf (stderr, "version: %s\n", stat_version);
fprintf (stderr, "host_system: %s\n", host_system);
fprintf (stderr, "build_system: %s\n", build_system);
fprintf (stderr, "locale_dir: %s\n", locale_dir);
fprintf (stderr, "compiler version: %s\n",
#ifdef __VERSION__
fprintf (stderr, "locale_dir: %s\n", locale_dir);
fprintf (stderr, "compiler version: %s\n",
#ifdef __VERSION__