+ "Use \"notmuch help <command or topic>\" for more details "
+ "on each command or topic.\n\n");
+}
+
+void
+notmuch_exit_if_unsupported_format (void)
+{
+ if (notmuch_format_version > NOTMUCH_FORMAT_CUR) {
+ fprintf (stderr, "\
+A caller requested output format version %d, but the installed notmuch\n\
+CLI only supports up to format version %d. You may need to upgrade your\n\
+notmuch CLI.\n",
+ notmuch_format_version, NOTMUCH_FORMAT_CUR);
+ exit (NOTMUCH_EXIT_FORMAT_TOO_NEW);
+ } else if (notmuch_format_version < NOTMUCH_FORMAT_MIN) {
+ fprintf (stderr, "\
+A caller requested output format version %d, which is no longer supported\n\
+by the notmuch CLI (it requires at least version %d). You may need to\n\
+upgrade your notmuch front-end.\n",
+ notmuch_format_version, NOTMUCH_FORMAT_MIN);
+ exit (NOTMUCH_EXIT_FORMAT_TOO_OLD);
+ } else if (notmuch_format_version < NOTMUCH_FORMAT_MIN_ACTIVE) {
+ /* Warn about old version requests so compatibility issues are
+ * less likely when we drop support for a deprecated format
+ * versions. */
+ fprintf (stderr, "\
+A caller requested deprecated output format version %d, which may not\n\
+be supported in the future.\n", notmuch_format_version);
+ }
+}
+
+void
+notmuch_exit_if_unmatched_db_uuid (notmuch_database_t *notmuch)
+{
+ const char *uuid = NULL;
+
+ if (!notmuch_requested_db_uuid)
+ return;
+ IGNORE_RESULT (notmuch_database_get_revision (notmuch, &uuid));
+
+ if (strcmp (notmuch_requested_db_uuid, uuid) != 0){
+ fprintf (stderr, "Error: requested database revision %s does not match %s\n",
+ notmuch_requested_db_uuid, uuid);
+ exit (1);
+ }