Use Odr_int type for hit counts
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 1 Dec 2009 21:24:02 +0000 (22:24 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 1 Dec 2009 21:24:02 +0000 (22:24 +0100)
Use the Odr_int type for hit counts. This is part of YAZ 3.0.47
and later and so configure checks for that.

configure.ac
src/client.c
src/client.h
src/http_command.c
src/logic.c
src/pazpar2.h

index a639532..1f708b8 100644 (file)
@@ -21,7 +21,7 @@ AC_LANG(C)
 
 AC_C_INLINE
 
-YAZ_INIT([static icu threads],[3.0.46])
+YAZ_INIT([static icu threads],[3.0.47])
 if test -z "$YAZLIB"; then
        AC_MSG_ERROR([YAZ development libraries missing])
 fi
index e70a08e..97c03af 100644 (file)
@@ -72,7 +72,7 @@ struct client {
     struct session *session;
     char *pquery; // Current search
     char *cqlquery; // used for SRU targets only
-    int hits;
+    Odr_int hits;
     int record_offset;
     int maxrecs;
     int startrecs;
@@ -785,7 +785,7 @@ struct client *client_next_in_session(struct client *cl)
 
 }
 
-int client_get_hits(struct client *cl)
+Odr_int client_get_hits(struct client *cl)
 {
     return cl->hits;
 }
index 35a28d9..eabaa83 100644 (file)
@@ -79,7 +79,7 @@ int client_is_active(struct client *cl);
 struct client *client_next_in_session(struct client *cl);
 
 int client_parse_query(struct client *cl, const char *query);
-int client_get_hits(struct client *cl);
+Odr_int client_get_hits(struct client *cl);
 int client_get_num_records(struct client *cl);
 int client_get_diagnostic(struct client *cl);
 void client_set_diagnostic(struct client *cl, int diagnostic);
index 752c329..9989ac8 100644 (file)
@@ -379,7 +379,8 @@ static void targets_termlist(WRBUF wrbuf, struct session *se, int num,
             wrbuf_xmlputs(wrbuf, ht[i].name);
         wrbuf_puts(wrbuf, "</name>\n");
         
-        wrbuf_printf(wrbuf, "<frequency>%d</frequency>\n", ht[i].hits);
+        wrbuf_printf(wrbuf, "<frequency>" ODR_INT_PRINTF "</frequency>\n",
+                     ht[i].hits);
         
         wrbuf_puts(wrbuf, "<state>");
         wrbuf_xmlputs(wrbuf, ht[i].state);
@@ -496,7 +497,7 @@ static void cmd_bytarget(struct http_channel *c)
             wrbuf_puts(c->wrbuf, "</name>\n");
         }
 
-        wrbuf_printf(c->wrbuf, "<hits>%d</hits>\n", ht[i].hits);
+        wrbuf_printf(c->wrbuf, "<hits>" ODR_INT_PRINTF "</hits>\n", ht[i].hits);
         wrbuf_printf(c->wrbuf, "<diagnostic>%d</diagnostic>\n", ht[i].diagnostic);
         wrbuf_printf(c->wrbuf, "<records>%d</records>\n", ht[i].records);
 
@@ -747,7 +748,7 @@ static void show_records(struct http_channel *c, int active)
     int startn = 0;
     int numn = 20;
     int total;
-    int total_hits;
+    Odr_int total_hits;
     int i;
 
     if (!s)
@@ -775,7 +776,7 @@ static void show_records(struct http_channel *c, int active)
     wrbuf_puts(c->wrbuf, HTTP_COMMAND_RESPONSE_PREFIX "<show>\n<status>OK</status>\n");
     wrbuf_printf(c->wrbuf, "<activeclients>%d</activeclients>\n", active);
     wrbuf_printf(c->wrbuf, "<merged>%d</merged>\n", total);
-    wrbuf_printf(c->wrbuf, "<total>%d</total>\n", total_hits);
+    wrbuf_printf(c->wrbuf, "<total>" ODR_INT_PRINTF "</total>\n", total_hits);
     wrbuf_printf(c->wrbuf, "<start>%d</start>\n", startn);
     wrbuf_printf(c->wrbuf, "<num>%d</num>\n", numn);
 
@@ -936,7 +937,7 @@ static void cmd_stat(struct http_channel *c)
     wrbuf_rewind(c->wrbuf);
     wrbuf_puts(c->wrbuf, HTTP_COMMAND_RESPONSE_PREFIX "<stat>");
     wrbuf_printf(c->wrbuf, "<activeclients>%d</activeclients>\n", clients);
-    wrbuf_printf(c->wrbuf, "<hits>%d</hits>\n", stat.num_hits);
+    wrbuf_printf(c->wrbuf, "<hits>" ODR_INT_PRINTF "</hits>\n", stat.num_hits);
     wrbuf_printf(c->wrbuf, "<records>%d</records>\n", stat.num_records);
     wrbuf_printf(c->wrbuf, "<clients>%d</clients>\n", stat.num_clients);
     wrbuf_printf(c->wrbuf, "<unconnected>%d</unconnected>\n", stat.num_no_connection);
index c07d303..57f36b4 100644 (file)
@@ -719,7 +719,7 @@ struct record_cluster *show_single(struct session *s, const char *id,
 }
 
 struct record_cluster **show(struct session *s, struct reclist_sortparms *sp, 
-                             int start, int *num, int *total, int *sumhits, 
+                             int start, int *num, int *total, Odr_int *sumhits, 
                              NMEM nmem_show)
 {
     struct record_cluster **recs = nmem_malloc(nmem_show, *num 
index 158e2fb..6c4faae 100644 (file)
@@ -110,7 +110,7 @@ struct session {
     struct relevance *relevance;
     struct reclist *reclist;
     struct session_watchentry watchlist[SESSION_WATCH_MAX + 1];
-    int total_hits;
+    Odr_int total_hits;
     int total_records;
     int total_merged;
     int number_of_warnings_unknown_elements;
@@ -126,14 +126,14 @@ struct statistics {
     int num_idle;
     int num_failed;
     int num_error;
-    int num_hits;
+    Odr_int num_hits;
     int num_records;
 };
 
 struct hitsbytarget {
     char *id;
     const char *name;
-    int hits;
+    Odr_int hits;
     int diagnostic;
     int records;
     const char *state;
@@ -151,7 +151,7 @@ enum pazpar2_error_code search(struct session *s, const char *query,
                                const char *startrecs, const char *maxrecs,
                                const char *filter, const char **addinfo);
 struct record_cluster **show(struct session *s, struct reclist_sortparms *sp, int start,
-        int *num, int *total, int *sumhits, NMEM nmem_show);
+        int *num, int *total, Odr_int *sumhits, NMEM nmem_show);
 struct record_cluster *show_single(struct session *s, const char *id,
                                    struct record_cluster **prev_r,
                                    struct record_cluster **next_r);