Merge commit 'origin/stable'
[pspp-builds.git] / src / libpspp / message.c
index 695b713287b4d55096cd4ddab330d30ea7f35f03..5faee1f1d6c8dc33279e36acc9b3188b56b1f218 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   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
@@ -82,7 +82,7 @@ msg_dup(const struct msg *m)
   struct msg *new_msg = xmalloc (sizeof *m);
 
   *new_msg = *m;
-  new_msg->text = strdup(m->text);
+  new_msg->text = xstrdup(m->text);
 
   return new_msg;
 }
@@ -99,9 +99,11 @@ msg_destroy(struct msg *m)
 void
 msg_emit (struct msg *m)
 {
-  get_msg_location (s_stream, &m->where);
+  if ( s_stream )
+    get_msg_location (s_stream, &m->where);
+
   if (!messages_disabled)
-    msg_handler (m);
+     msg_handler (m);
   free (m->text);
 }