projects
/
pazpar2-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove declaration of yaz_marc_write_xml
[pazpar2-moved-to-github.git]
/
src
/
pazpar2.c
diff --git
a/src/pazpar2.c
b/src/pazpar2.c
index
184bd71
..
4b99bb2
100644
(file)
--- a/
src/pazpar2.c
+++ b/
src/pazpar2.c
@@
-1,4
+1,4
@@
-/* $Id: pazpar2.c,v 1.41 2007-01-17 15:32:39 quinn Exp $ */
+/* $Id: pazpar2.c,v 1.45 2007-01-19 21:16:11 adam Exp $ */
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
@@
-265,7
+265,6
@@
static void do_searchResponse(IOCHAN i, Z_APDU *a)
if (r->presentStatus && !*r->presentStatus && r->records)
{
yaz_log(YLOG_DEBUG, "Records in search response");
if (r->presentStatus && !*r->presentStatus && r->records)
{
yaz_log(YLOG_DEBUG, "Records in search response");
- cl->records += *r->numberOfRecordsReturned;
ingest_records(cl, r->records);
}
cl->state = Client_Idle;
ingest_records(cl, r->records);
}
cl->state = Client_Idle;
@@
-386,8
+385,6
@@
static void add_facet(struct session *s, const char *type, const char *value)
termlist_insert(s->termlists[i].termlist, value);
}
termlist_insert(s->termlists[i].termlist, value);
}
-int yaz_marc_write_xml();
-
static xmlDoc *normalize_record(struct client *cl, Z_External *rec)
{
struct conf_retrievalprofile *rprofile = cl->database->rprofile;
static xmlDoc *normalize_record(struct client *cl, Z_External *rec)
{
struct conf_retrievalprofile *rprofile = cl->database->rprofile;
@@
-426,6
+423,17
@@
static xmlDoc *normalize_record(struct client *cl, Z_External *rec)
yaz_log(YLOG_FATAL, "Unknown native_syntax in normalize_record");
exit(1);
}
yaz_log(YLOG_FATAL, "Unknown native_syntax in normalize_record");
exit(1);
}
+
+ if (global_parameters.dump_records)
+ {
+ fprintf(stderr, "Input Record (normalized):\n----------------\n");
+#if LIBXML_VERSION >= 20600
+ xmlDocFormatDump(stderr, rdoc, 1);
+#else
+ xmlDocDump(stderr, rdoc);
+#endif
+ }
+
for (m = rprofile->maplist; m; m = m->next)
{
xmlDoc *new;
for (m = rprofile->maplist; m; m = m->next)
{
xmlDoc *new;
@@
-508,6
+516,7
@@
static struct record *ingest_record(struct client *cl, Z_External *rec)
res = nmem_malloc(se->nmem, sizeof(struct record));
res->next = 0;
res = nmem_malloc(se->nmem, sizeof(struct record));
res->next = 0;
+ res->client = cl;
res->metadata = nmem_malloc(se->nmem,
sizeof(struct record_metadata*) * service->num_metadata);
memset(res->metadata, 0, sizeof(struct record_metadata*) * service->num_metadata);
res->metadata = nmem_malloc(se->nmem,
sizeof(struct record_metadata*) * service->num_metadata);
memset(res->metadata, 0, sizeof(struct record_metadata*) * service->num_metadata);
@@
-578,11
+587,13
@@
static struct record *ingest_record(struct client *cl, Z_External *rec)
newm->next = 0;
if (md->type == Metadata_type_generic)
{
newm->next = 0;
if (md->type == Metadata_type_generic)
{
- char *p;
- newm->data.text = nmem_strdup(se->nmem, value);
- for (p = newm->data.text + strlen(newm->data.text) - 1;
- p > newm->data.text && strchr(" ,/.", *p); p--)
- *p = '\0';
+ char *p, *pe;
+ for (p = value; *p && isspace(*p); p++)
+ ;
+ for (pe = p + strlen(p) - 1;
+ pe > p && strchr(" ,/.:([", *pe); pe--)
+ *pe = '\0';
+ newm->data.text = nmem_strdup(se->nmem, p);
}
else if (md->type == Metadata_type_year)
}
else if (md->type == Metadata_type_year)
@@
-1047,19
+1058,24
@@
void load_simpletargets(const char *fn)
while (fgets(line, 255, f))
{
char *url, *db;
while (fgets(line, 255, f))
{
char *url, *db;
+ char *name;
struct host *host;
struct database *database;
if (strncmp(line, "target ", 7))
continue;
struct host *host;
struct database *database;
if (strncmp(line, "target ", 7))
continue;
+ line[strlen(line) - 1] = '\0';
+
+ if ((name = strchr(line, ';')))
+ *(name++) = '\0';
+
url = line + 7;
url = line + 7;
- url[strlen(url) - 1] = '\0';
- yaz_log(YLOG_DEBUG, "Target: %s", url);
if ((db = strchr(url, '/')))
*(db++) = '\0';
else
db = "Default";
if ((db = strchr(url, '/')))
*(db++) = '\0';
else
db = "Default";
+ yaz_log(YLOG_LOG, "Target: %s, '%s'", url, db);
for (host = hosts; host; host = host->next)
if (!strcmp(url, host->hostport))
break;
for (host = hosts; host; host = host->next)
if (!strcmp(url, host->hostport))
break;
@@
-1112,6
+1128,10
@@
void load_simpletargets(const char *fn)
strcpy(database->url, url);
strcat(database->url, "/");
strcat(database->url, db);
strcpy(database->url, url);
strcat(database->url, "/");
strcat(database->url, db);
+ if (name)
+ database->name = xstrdup(name);
+ else
+ database->name = 0;
database->databases = xmalloc(2 * sizeof(char *));
database->databases[0] = xstrdup(db);
database->databases = xmalloc(2 * sizeof(char *));
database->databases[0] = xstrdup(db);
@@
-1350,7
+1370,8
@@
struct hitsbytarget *hitsbytarget(struct session *se, int *count)
*count = 0;
for (cl = se->clients; cl; cl = cl->next)
{
*count = 0;
for (cl = se->clients; cl; cl = cl->next)
{
- strcpy(res[*count].id, cl->database->host->hostport);
+ res[*count].id = cl->database->url;
+ res[*count].name = cl->database->name;
res[*count].hits = cl->hits;
res[*count].records = cl->records;
res[*count].diagnostic = cl->diagnostic;
res[*count].hits = cl->hits;
res[*count].records = cl->records;
res[*count].diagnostic = cl->diagnostic;