message: New function msg_location_merged().
authorBen Pfaff <blp@cs.stanford.edu>
Sun, 28 Aug 2022 21:18:48 +0000 (14:18 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sun, 28 Aug 2022 21:22:19 +0000 (14:22 -0700)
src/libpspp/message.c
src/libpspp/message.h

index 83c7320168eef5a8ca4cf68baaa6c129bd98dd0d..38726d9f5b4827661940d8500e9294a85b785d79 100644 (file)
@@ -174,6 +174,16 @@ msg_location_merge (struct msg_location **dstp, const struct msg_location *src)
     dst->end = src->end;
 }
 
+struct msg_location *
+msg_location_merged (const struct msg_location *a,
+                     const struct msg_location *b)
+{
+  struct msg_location *new = msg_location_dup (a);
+  if (b)
+    msg_location_merge (&new, b);
+  return new;
+}
+
 struct msg_location *
 msg_location_dup (const struct msg_location *src)
 {
index 813febe82a07a3906315937999a8886cc05d6fd0..11e5b9d98eeda0694180836d8149c71ee2d24055 100644 (file)
@@ -118,6 +118,8 @@ struct msg_location *msg_location_dup (const struct msg_location *);
 void msg_location_remove_columns (struct msg_location *);
 
 void msg_location_merge (struct msg_location **, const struct msg_location *);
+struct msg_location *msg_location_merged (const struct msg_location *,
+                                          const struct msg_location *);
 
 bool msg_location_is_empty (const struct msg_location *);
 void msg_location_format (const struct msg_location *, struct string *);