+ static lex_pos_ty pos = { __FILE__, __LINE__ };
+
+ /* Allocate a new message and append the message to the list. */
-+ mp = message_alloc(xstrdup(msgid));
++ mp = message_alloc(xstrdup(msgid), NULL);
+ /* Do not free msgid. */
+ message_list_append(ctx->mlp, mp);
+
+ } else
+ msgstr = "";
+ message_variant_append(mp, MESSAGE_DOMAIN_DEFAULT, msgstr,
-+ &pos);
++ strlen(msgstr) + 1, &pos);
+
+ mp->is_c_format = no;
+ mp->do_wrap = yes; /* By default we wrap. Is it ok? */