Update TurboMARC definition and document it
[yaz-moved-to-github.git] / src / zoom-c.c
index 4a208b3..c579957 100644 (file)
@@ -349,8 +349,6 @@ void ZOOM_connection_remove_task(ZOOM_connection c)
     }
 }
 
-static int ZOOM_connection_exec_task(ZOOM_connection c);
-
 void ZOOM_connection_remove_tasks(ZOOM_connection c)
 {
     while (c->tasks)
@@ -2196,6 +2194,11 @@ ZOOM_API(const char *)
         return get_record_format(rec, len, npr, YAZ_MARC_MARCXML, charset,
                                  format);
     }
+    else if (!strcmp(type, "txml"))
+    {
+        return get_record_format(rec, len, npr, YAZ_MARC_TURBOMARC, charset,
+                                 format);
+    }
     else if (!strcmp(type, "raw"))
     {
         return get_record_format(rec, len, npr, YAZ_MARC_ISO2709, charset,
@@ -2381,7 +2384,10 @@ static void handle_records(ZOOM_connection c, Z_Records *sr,
             {
                 /* present response and we didn't get any records! */
                 Z_NamePlusRecord *myrec = 
-                    zget_surrogateDiagRec(resultset->odr, 0, 14, 0);
+                    zget_surrogateDiagRec(
+                        resultset->odr, 0, 
+                        YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS,
+                        "ZOOM C generated. Present phase and no records");
                 record_cache_add(resultset, myrec, *start,
                                  syntax, elementSetName, 0, 0);
             }
@@ -2390,7 +2396,10 @@ static void handle_records(ZOOM_connection c, Z_Records *sr,
         {
             /* present response and we didn't get any records! */
             Z_NamePlusRecord *myrec = 
-                zget_surrogateDiagRec(resultset->odr, 0, 14, 0);
+                zget_surrogateDiagRec(
+                    resultset->odr, 0,
+                    YAZ_BIB1_SYSTEM_ERROR_IN_PRESENTING_RECORDS,
+                    "ZOOM C generated: Present response and no records");
             record_cache_add(resultset, myrec, *start, syntax, elementSetName,
                              0, 0);
         }
@@ -3601,7 +3610,8 @@ ZOOM_API(void)
     ZOOM_options_setl(p->options, key, val, len);
 }
 
-static int ZOOM_connection_exec_task(ZOOM_connection c)
+ZOOM_API(int)
+    ZOOM_connection_exec_task(ZOOM_connection c)
 {
     ZOOM_task task = c->tasks;
     zoom_ret ret = zoom_complete;