-/*
- * Copyright (C) 1995-2005, Index Data ApS
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) 1995-2009 Index Data
* See the file LICENSE for details.
- *
- * $Id: admin.c,v 1.21 2005-06-25 15:46:01 adam Exp $
*/
#include <stdio.h>
#include <yaz/proto.h>
#include <yaz/marcdisp.h>
#include <yaz/diagbib1.h>
-
+#include <yaz/oid_db.h>
#include <yaz/pquery.h>
#include "admin.h"
/* Helper functions to get to various statics in the client */
-ODR getODROutputStream();
+ODR getODROutputStream(void);
extern char *databaseNames[];
extern int num_databaseNames;
Z_APDU *apdu = zget_APDU(out, Z_APDU_extendedServicesRequest );
Z_ExtendedServicesRequest *req = apdu->u.extendedServicesRequest;
Z_External *r;
- int oid[OID_SIZE];
+ Odr_oid *oid;
Z_ESAdminOriginPartToKeep *toKeep;
Z_ESAdminOriginPartNotToKeep *notToKeep;
- oident update_oid;
printf ("Admin request\n");
fflush(stdout);
- /* Set up the OID for the external */
- update_oid.proto = PROTO_Z3950;
- update_oid.oclass = CLASS_EXTSERV;
- update_oid.value = VAL_ADMINSERVICE;
+ oid = odr_oiddup(out, yaz_oid_extserv_admin);
- oid_ent_to_oid (&update_oid, oid);
- req->packageType = odr_oiddup(out,oid);
+ req->packageType = oid;
req->packageName = "1.Extendedserveq";
/* Allocate the external */
oct->len = oct->size = status.st_size;
oct->buf = (unsigned char *) odr_malloc (out, oct->size);
- fread (oct->buf, 1, oct->size, inf);
- fclose (inf);
+ if (fread(oct->buf, 1, oct->size, inf) != oct->size)
+ {
+ printf("Incomplete read of file %s\n", fname);
+ }
+ if (fclose(inf))
+ {
+ printf("Close failed for file %s\n", fname);
+ }
segment->segmentRecords[segment->num_segmentRecords++] = rec;
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab