about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation/HTVMS_WaisUI.c
diff options
context:
space:
mode:
Diffstat (limited to 'WWW/Library/Implementation/HTVMS_WaisUI.c')
-rw-r--r--WWW/Library/Implementation/HTVMS_WaisUI.c2806
1 files changed, 1419 insertions, 1387 deletions
diff --git a/WWW/Library/Implementation/HTVMS_WaisUI.c b/WWW/Library/Implementation/HTVMS_WaisUI.c
index 0c703acf..1b131dd9 100644
--- a/WWW/Library/Implementation/HTVMS_WaisUI.c
+++ b/WWW/Library/Implementation/HTVMS_WaisUI.c
@@ -1,21 +1,21 @@
 /*							HTVMS_WAISUI.c
-**
-**	Adaptation for Lynx by F.Macrides (macrides@sci.wfeb.edu)
-**
-**	30-May-1994 FM	Initial version.
-**
-**----------------------------------------------------------------------*/
+ *
+ *	Adaptation for Lynx by F.Macrides (macrides@sci.wfeb.edu)
+ *
+ *	30-May-1994 FM	Initial version.
+ *
+ *----------------------------------------------------------------------*/
 
 /*
-**	Routines originally from UI.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from UI.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* WIDE AREA INFORMATION SERVER SOFTWARE:
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   Brewster@think.com
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * Brewster@think.com
+ */
 
 /*
  * this is a simple ui toolkit for building other ui's on top.
@@ -36,18 +36,19 @@
  */
 
 #include <HTUtils.h>
+
+#ifdef VMS
 #include <HTVMS_WaisUI.h>
 #include <HTVMS_WaisProt.h>
 #include <HTTCP.h>
 
-#undef MAXINT	/* we don't need it here, and www_tcp.h may conflict */
+#undef MAXINT			/* we don't need it here, and www_tcp.h may conflict */
 #include <math.h>
 
 #include <LYexit.h>
 #include <LYLeaks.h>
 
-void
-log_write(char *s GCC_UNUSED)
+void log_write(char *s GCC_UNUSED)
 {
     return;
 }
@@ -57,51 +58,51 @@ log_write(char *s GCC_UNUSED)
 /* returns a pointer in the buffer of the first free byte.
    if it overflows, then NULL is returned
  */
-char *
-generate_search_apdu(
-char* buff,     /* buffer to hold the apdu */
-long *buff_len,    /* length of the buffer changed to reflect new data written */
-char *seed_words,    /* string of the seed words */
-char *database_name,
-DocObj** docobjs,
-long maxDocsRetrieved)
-{
-  /* local variables */
-
-  SearchAPDU *search3;
-  char  *end_ptr;
-  static char *database_names[2] = {"", 0};
-  any refID;
-  WAISSearch *query;
-  refID.size = 1;
-  refID.bytes = "3";
-
-  database_names[0] = database_name;
-  query = makeWAISSearch(seed_words,
-                         docobjs, /* DocObjsPtr */
-                         0,
-                         1,     /* DateFactor */
-                         0,     /* BeginDateRange */
-                         0,     /* EndDateRange */
-                         maxDocsRetrieved
-                         );
-
-  search3 = makeSearchAPDU(30,
-			   5000, /* should be large */
-			   30,
-                           1,	/* replace indicator */
-                           "",	/* result set name */
-                           database_names, /* database name */
-                           QT_RelevanceFeedbackQuery, /* query_type */
-                           0,   /* element name */
-                           NULL, /* reference ID */
-                           query);
-
-  end_ptr = writeSearchAPDU(search3, buff, buff_len);
-
-  CSTFreeWAISSearch(query);
-  freeSearchAPDU(search3);
-  return(end_ptr);
+char *generate_search_apdu(char *buff,	/* buffer to hold the apdu */
+			   long *buff_len,	/* length of the buffer changed to reflect new data written */
+			   char *seed_words,	/* string of the seed words */
+			   char *database_name,
+			   DocObj **docobjs,
+			   long maxDocsRetrieved)
+{
+    /* local variables */
+
+    SearchAPDU *search3;
+    char *end_ptr;
+    static char *database_names[2] =
+    {"", 0};
+    any refID;
+    WAISSearch *query;
+
+    refID.size = 1;
+    refID.bytes = "3";
+
+    database_names[0] = database_name;
+    query = makeWAISSearch(seed_words,
+			   docobjs,	/* DocObjsPtr */
+			   0,
+			   1,	/* DateFactor */
+			   0,	/* BeginDateRange */
+			   0,	/* EndDateRange */
+			   maxDocsRetrieved
+	);
+
+    search3 = makeSearchAPDU(30,
+			     5000,	/* should be large */
+			     30,
+			     1,	/* replace indicator */
+			     "",	/* result set name */
+			     database_names,	/* database name */
+			     QT_RelevanceFeedbackQuery,		/* query_type */
+			     0,	/* element name */
+			     NULL,	/* reference ID */
+			     query);
+
+    end_ptr = writeSearchAPDU(search3, buff, buff_len);
+
+    CSTFreeWAISSearch(query);
+    freeSearchAPDU(search3);
+    return (end_ptr);
 }
 
 /*----------------------------------------------------------------------*/
@@ -110,63 +111,61 @@ long maxDocsRetrieved)
    if it overflowed, then NULL is returned
  */
 
-char *
-generate_retrieval_apdu(
-char *buff,
-long *buff_len,    /* length of the buffer changed to reflect new data written */
-any *docID,
-long chunk_type,
-long start,
-long end,
-char *type,
-char *database_name)
-{
-  SearchAPDU *search;
-  char  *end_ptr;
-
-  static char *database_names[2];
-  static char *element_names[3];
-  any refID;
-
-  DocObj *DocObjs[2];
-  any *query;			/* changed from char* by brewster */
-
-  if(NULL == type)
-    type = s_strdup("TEXT");
-
-  database_names[0] = database_name;
-  database_names[1] = NULL;
-
-  element_names[0] = " ";
-  element_names[1] = ES_DocumentText;
-  element_names[2] = NULL;
-
-  refID.size = 1;
-  refID.bytes = "3";
-
-  switch(chunk_type){
-  case CT_line:
-    DocObjs[0] = makeDocObjUsingLines(docID, type, start, end);
-    break;
-  case CT_byte:
-    DocObjs[0] = makeDocObjUsingBytes(docID, type, start, end);
-    break;
-  }
-  DocObjs[1] = NULL;
-
-  query = makeWAISTextQuery(DocObjs);
-  search = makeSearchAPDU( 10, 16, 15,
-			  1,	/* replace indicator */
-			  "FOO", /* result set name */
-			  database_names, /* database name */
-			  QT_TextRetrievalQuery, /* query_type */
-			  element_names, /* element name */
-			  &refID, /* reference ID */
-			  query);
-  end_ptr = writeSearchAPDU(search, buff, buff_len);
-  CSTFreeWAISTextQuery(query);
-  freeSearchAPDU(search);
-  return(end_ptr);
+char *generate_retrieval_apdu(char *buff,
+			      long *buff_len,	/* length of the buffer changed to reflect new data written */
+			      any *docID,
+			      long chunk_type,
+			      long start,
+			      long end,
+			      char *type,
+			      char *database_name)
+{
+    SearchAPDU *search;
+    char *end_ptr;
+
+    static char *database_names[2];
+    static char *element_names[3];
+    any refID;
+
+    DocObj *DocObjs[2];
+    any *query;			/* changed from char* by brewster */
+
+    if (NULL == type)
+	type = s_strdup("TEXT");
+
+    database_names[0] = database_name;
+    database_names[1] = NULL;
+
+    element_names[0] = " ";
+    element_names[1] = ES_DocumentText;
+    element_names[2] = NULL;
+
+    refID.size = 1;
+    refID.bytes = "3";
+
+    switch (chunk_type) {
+    case CT_line:
+	DocObjs[0] = makeDocObjUsingLines(docID, type, start, end);
+	break;
+    case CT_byte:
+	DocObjs[0] = makeDocObjUsingBytes(docID, type, start, end);
+	break;
+    }
+    DocObjs[1] = NULL;
+
+    query = makeWAISTextQuery(DocObjs);
+    search = makeSearchAPDU(10, 16, 15,
+			    1,	/* replace indicator */
+			    "FOO",	/* result set name */
+			    database_names,	/* database name */
+			    QT_TextRetrievalQuery,	/* query_type */
+			    element_names,	/* element name */
+			    &refID,	/* reference ID */
+			    query);
+    end_ptr = writeSearchAPDU(search, buff, buff_len);
+    CSTFreeWAISTextQuery(query);
+    freeSearchAPDU(search);
+    return (end_ptr);
 }
 
 /*----------------------------------------------------------------------*/
@@ -178,153 +177,149 @@ char *database_name)
  */
 static long read_from_stream(int d, char *buf, long nbytes)
 {
-  long didRead;
-  long toRead = nbytes;
-  long totalRead = 0;		/* paranoia */
-
-  while (toRead > 0){
-    didRead = NETREAD (d, buf, (int)toRead);
-    if(didRead == HT_INTERRUPTED)
-      return(HT_INTERRUPTED);
-    if(didRead == -1)		/* error*/
-      return(-1);
-    if(didRead == 0)		/* eof */
-      return(-2);		/* maybe this should return 0? */
-    toRead -= didRead;
-    buf += didRead;
-    totalRead += didRead;
-  }
-  if(totalRead != nbytes)	/* we overread for some reason */
-    return(- totalRead);	/* bad news */
-  return(totalRead);
+    long didRead;
+    long toRead = nbytes;
+    long totalRead = 0;		/* paranoia */
+
+    while (toRead > 0) {
+	didRead = NETREAD(d, buf, (int) toRead);
+	if (didRead == HT_INTERRUPTED)
+	    return (HT_INTERRUPTED);
+	if (didRead == -1)	/* error */
+	    return (-1);
+	if (didRead == 0)	/* eof */
+	    return (-2);	/* maybe this should return 0? */
+	toRead -= didRead;
+	buf += didRead;
+	totalRead += didRead;
+    }
+    if (totalRead != nbytes)	/* we overread for some reason */
+	return (-totalRead);	/* bad news */
+    return (totalRead);
 }
 
 /*----------------------------------------------------------------------*/
 
 /* returns the length of the response, 0 if an error */
 
-static long
-transport_message(
-	long connection,
-	char *request_message,
-	long request_length,
-	char *response_message,
-	long response_buffer_length)
+static long transport_message(long connection,
+			      char *request_message,
+			      long request_length,
+			      char *response_message,
+			      long response_buffer_length)
 {
-  WAISMessage header;
-  long response_length;
-  int rv;
+    WAISMessage header;
+    long response_length;
+    int rv;
 
+    /* Write out message.  Read back header.  Figure out response length. */
 
-  /* Write out message.  Read back header.  Figure out response length. */
+    if (request_length + HEADER_LENGTH !=
+	NETWRITE(connection, request_message,
+		 (int) (request_length + HEADER_LENGTH)))
+	return 0;
 
-  if( request_length + HEADER_LENGTH !=
-      NETWRITE(connection,request_message,
-		  (int)( request_length +HEADER_LENGTH)) )
-    return 0;
+    /* read for the first '0' */
 
-  /* read for the first '0' */
+    while (1) {
+	rv = read_from_stream(connection, response_message, 1);
+	if (rv == HT_INTERRUPTED)
+	    return HT_INTERRUPTED;
+	if (rv < 0)
+	    return 0;
+	if ('0' == response_message[0])
+	    break;
+    }
 
-  while(1){
-    rv = read_from_stream(connection, response_message, 1);
+    rv = read_from_stream(connection, response_message + 1, HEADER_LENGTH - 1);
     if (rv == HT_INTERRUPTED)
-      return HT_INTERRUPTED;
+	return HT_INTERRUPTED;
     if (rv < 0)
-      return 0;
-    if('0' == response_message[0])
-      break;
-  }
-
-  rv = read_from_stream(connection, response_message + 1, HEADER_LENGTH -1);
-  if (rv == HT_INTERRUPTED)
-    return HT_INTERRUPTED;
-  if (rv < 0)
-    return 0;
-
-  readWAISPacketHeader(response_message, &header);
-  {
-    char length_array[11];
-    strncpy(length_array, header.msg_len, 10);
-    length_array[10] = '\0';
-    response_length = atol(length_array);
-    /*
-      if(verbose){
-      printf("WAIS header: '%s' length_array: '%s'\n",
-      response_message, length_array);
-      }
-      */
-    if(response_length > response_buffer_length){
-      /* we got a message that is too long, therefore empty the message out,
-	 and return 0 */
-      long i;
-      for(i = 0; i < response_length; i++){
-	rv = read_from_stream(connection,
-			      response_message + HEADER_LENGTH,
-			      1);
-	if (rv == HT_INTERRUPTED)
-	  return HT_INTERRUPTED;
-	if (rv < 0)
-	  return 0;
-      }
-      return(0);
+	return 0;
+
+    readWAISPacketHeader(response_message, &header);
+    {
+	char length_array[11];
+
+	strncpy(length_array, header.msg_len, 10);
+	length_array[10] = '\0';
+	response_length = atol(length_array);
+	/*
+	   if(verbose){
+	   printf("WAIS header: '%s' length_array: '%s'\n",
+	   response_message, length_array);
+	   }
+	 */
+	if (response_length > response_buffer_length) {
+	    /* we got a message that is too long, therefore empty the message out,
+	       and return 0 */
+	    long i;
+
+	    for (i = 0; i < response_length; i++) {
+		rv = read_from_stream(connection,
+				      response_message + HEADER_LENGTH,
+				      1);
+		if (rv == HT_INTERRUPTED)
+		    return HT_INTERRUPTED;
+		if (rv < 0)
+		    return 0;
+	    }
+	    return (0);
+	}
     }
-  }
-  rv = read_from_stream(connection,
-			response_message + HEADER_LENGTH,
-			response_length);
-  if (rv == HT_INTERRUPTED)
-    return HT_INTERRUPTED;
-  if (rv < 0)
-    return 0;
-  return(response_length);
+    rv = read_from_stream(connection,
+			  response_message + HEADER_LENGTH,
+			  response_length);
+    if (rv == HT_INTERRUPTED)
+	return HT_INTERRUPTED;
+    if (rv < 0)
+	return 0;
+    return (response_length);
 }
 
 /*----------------------------------------------------------------------*/
 
 /* returns the number of bytes written.  0 if an error */
-long
-interpret_message(
-	char *request_message,
-	long request_length, /* length of the buffer */
-	char *response_message,
-	long response_buffer_length,
-	long connection,
-	boolean verbose GCC_UNUSED)
-{
-  long response_length;
-
-  /* ?
-  if(verbose){
-    printf ("sending");
-    if(hostname_internal && strlen(hostname_internal) > 0)
-      printf(" to host %s", hostname_internal);
-    if(service_name && strlen(service_name) > 0)
-      printf(" for service %s", service_name);
-    printf("\n");
-    twais_dsply_rsp_apdu(request_message + HEADER_LENGTH,
-			 request_length);
-  }
-
-  */
-
-  writeWAISPacketHeader(request_message,
-			request_length,
-			(long)'z',	/* Z39.50 */
-			"wais      ", /* server name */
-			(long)NO_COMPRESSION,	/* no compression */
-			(long)NO_ENCODING,(long)HEADER_VERSION);
-  if(connection != 0) {
-    response_length = transport_message(connection, request_message,
-					request_length,
-					response_message,
-					response_buffer_length);
-    if (response_length == HT_INTERRUPTED)
-      return(HT_INTERRUPTED);
-  }
-  else
-      return(0);
-
-  return(response_length);
+long interpret_message(char *request_message,
+		       long request_length,	/* length of the buffer */
+		       char *response_message,
+		       long response_buffer_length,
+		       long connection,
+		       boolean verbose GCC_UNUSED)
+{
+    long response_length;
+
+    /* ?
+       if(verbose){
+       printf ("sending");
+       if(hostname_internal && strlen(hostname_internal) > 0)
+       printf(" to host %s", hostname_internal);
+       if(service_name && strlen(service_name) > 0)
+       printf(" for service %s", service_name);
+       printf("\n");
+       twais_dsply_rsp_apdu(request_message + HEADER_LENGTH,
+       request_length);
+       }
+
+     */
+
+    writeWAISPacketHeader(request_message,
+			  request_length,
+			  (long) 'z',	/* Z39.50 */
+			  "wais      ",		/* server name */
+			  (long) NO_COMPRESSION,	/* no compression */
+			  (long) NO_ENCODING, (long) HEADER_VERSION);
+    if (connection != 0) {
+	response_length = transport_message(connection, request_message,
+					    request_length,
+					    response_message,
+					    response_buffer_length);
+	if (response_length == HT_INTERRUPTED)
+	    return (HT_INTERRUPTED);
+    } else
+	return (0);
+
+    return (response_length);
 }
 
 /*----------------------------------------------------------------------*/
@@ -333,26 +328,28 @@ interpret_message(
    the new length. */
 static char *delete_seeker_codes(char *string, long *length)
 {
-  long original_count; /* index into the original string */
-  long new_count = 0; /* index into the collapsed string */
-  for(original_count = 0; original_count < *length; original_count++){
-    if(27 == string[original_count]){
-      /* then we have an escape code */
-      /* if the next letter is '(' or ')', then ignore two letters */
-      if('(' == string[original_count + 1] ||
-    ')' == string[original_count + 1])
-     original_count += 1;    /* it is a term marker */
-      else original_count += 4; /* it is a paragraph marker */
+    long original_count;	/* index into the original string */
+    long new_count = 0;		/* index into the collapsed string */
+
+    for (original_count = 0; original_count < *length; original_count++) {
+	if (27 == string[original_count]) {
+	    /* then we have an escape code */
+	    /* if the next letter is '(' or ')', then ignore two letters */
+	    if ('(' == string[original_count + 1] ||
+		')' == string[original_count + 1])
+		original_count += 1;	/* it is a term marker */
+	    else
+		original_count += 4;	/* it is a paragraph marker */
+	} else
+	    string[new_count++] = string[original_count];
     }
-    else string[new_count++] = string[original_count];
-  }
-  *length = new_count;
-  return(string);
+    *length = new_count;
+    return (string);
 }
 
 /*----------------------------------------------------------------------*/
 
-#if defined(VMS) && defined(__GNUC__)			/* 10-AUG-1995 [pr] */
+#if defined(VMS) && defined(__GNUC__)	/* 10-AUG-1995 [pr] */
 /*
   Workaround for an obscure bug in gcc's 2.6.[123] and 2.7.0 vax/vms port;
   sometimes global variables will end up not being defined properly,
@@ -365,47 +362,48 @@ static char *delete_seeker_codes(char *string, long *length)
    Make a reference to VAXCRTL's _ctype_[], and also one to this dummy
    variable itself to prevent any "defined but not used" warning.
  */
-static __const void *__const ctype_dummy[] = { &_ctype_, &ctype_dummy };
+static __const void *__const ctype_dummy[] =
+{&_ctype_, &ctype_dummy};
 #endif /* VMS && __GNUC__ */
 
 /* returns a pointer to a string with good stuff */
 char *trim_junk(char *headline)
 {
-  long length = strlen(headline) + 1; /* include the trailing null */
-  size_t i;
-  headline = delete_seeker_codes(headline, &length);
-  /* delete leading spaces */
-  for(i=0; i < strlen(headline); i++){
-    if(isprint(headline[i])){
-      break;
+    long length = strlen(headline) + 1;		/* include the trailing null */
+    size_t i;
+
+    headline = delete_seeker_codes(headline, &length);
+    /* delete leading spaces */
+    for (i = 0; i < strlen(headline); i++) {
+	if (isprint(headline[i])) {
+	    break;
+	}
     }
-  }
-  headline = headline + i;
-  /* delete trailing stuff */
-  for(i=strlen(headline) - 1 ; i > 0; i--){
-    if(isprint(headline[i])){
-      break;
+    headline = headline + i;
+    /* delete trailing stuff */
+    for (i = strlen(headline) - 1; i > 0; i--) {
+	if (isprint(headline[i])) {
+	    break;
+	}
+	headline[i] = '\0';
     }
-    headline[i] = '\0';
-  }
-  return(headline);
+    return (headline);
 }
 
 /*----------------------------------------------------------------------*/
 
-
 /*
-**	Routines originally from ZProt.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from ZProt.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* WIDE AREA INFORMATION SERVER SOFTWARE:`
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   3.26.90	Harry Morris, morris@think.com
-   3.30.90  Harry Morris - Changed any->bits to any->bytes
-   4.11.90  HWM - generalized conditional includes (see c-dialect.h)
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * 3.26.90	Harry Morris, morris@think.com
+ * 3.30.90  Harry Morris - Changed any->bits to any->bytes
+ * 4.11.90  HWM - generalized conditional includes (see c-dialect.h)
+ */
 
 #define RESERVE_SPACE_FOR_HEADER(spaceLeft)		\
 	*spaceLeft -= HEADER_LEN;
@@ -416,156 +414,173 @@ char *trim_junk(char *headline)
 
 /*----------------------------------------------------------------------*/
 
-InitResponseAPDU*
-makeInitResponseAPDU(
-boolean result,
-boolean search,
-boolean present,
-boolean deleteIt,
-boolean accessControl,
-boolean resourceControl,
-long prefSize,
-long maxMsgSize,
-char* auth,
-char* id,
-char* name,
-char* version,
-any* refID,
-void* userInfo)
+InitResponseAPDU *makeInitResponseAPDU(boolean result,
+				       boolean search,
+				       boolean present,
+				       boolean deleteIt,
+				       boolean accessControl,
+				       boolean resourceControl,
+				       long prefSize,
+				       long maxMsgSize,
+				       char *auth,
+				       char *id,
+				       char *name,
+				       char *version,
+				       any *refID,
+				       void *userInfo)
 /* build an initResponse APDU with user specified information */
 {
-  InitResponseAPDU* init = (InitResponseAPDU*)s_malloc((size_t)sizeof(InitResponseAPDU));
+    InitResponseAPDU *init = (InitResponseAPDU *) s_malloc((size_t) sizeof(InitResponseAPDU));
 
-  init->PDUType = initResponseAPDU;
-  init->Result = result;
-  init->willSearch = search;
-  init->willPresent = present;
-  init->willDelete = deleteIt;
-  init->supportAccessControl = accessControl;
-  init->supportResourceControl = resourceControl;
-  init->PreferredMessageSize = prefSize;
-  init->MaximumRecordSize = maxMsgSize;
-  init->IDAuthentication = s_strdup(auth);
-  init->ImplementationID = s_strdup(id);
-  init->ImplementationName = s_strdup(name);
-  init->ImplementationVersion = s_strdup(version);
-  init->ReferenceID = duplicateAny(refID);
-  init->UserInformationField = userInfo; /* not copied! */
+    init->PDUType = initResponseAPDU;
+    init->Result = result;
+    init->willSearch = search;
+    init->willPresent = present;
+    init->willDelete = deleteIt;
+    init->supportAccessControl = accessControl;
+    init->supportResourceControl = resourceControl;
+    init->PreferredMessageSize = prefSize;
+    init->MaximumRecordSize = maxMsgSize;
+    init->IDAuthentication = s_strdup(auth);
+    init->ImplementationID = s_strdup(id);
+    init->ImplementationName = s_strdup(name);
+    init->ImplementationVersion = s_strdup(version);
+    init->ReferenceID = duplicateAny(refID);
+    init->UserInformationField = userInfo;	/* not copied! */
 
-  return(init);
+    return (init);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeInitResponseAPDU(InitResponseAPDU* init)
+void freeInitResponseAPDU(InitResponseAPDU *init)
 /* free an initAPDU */
 {
-  s_free(init->IDAuthentication);
-  s_free(init->ImplementationID);
-  s_free(init->ImplementationName);
-  s_free(init->ImplementationVersion);
-  freeAny(init->ReferenceID);
-  s_free(init);
+    s_free(init->IDAuthentication);
+    s_free(init->ImplementationID);
+    s_free(init->ImplementationName);
+    s_free(init->ImplementationVersion);
+    freeAny(init->ReferenceID);
+    s_free(init);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeInitResponseAPDU(InitResponseAPDU* init, char* buffer, long* len)
+char *writeInitResponseAPDU(InitResponseAPDU *init, char *buffer, long *len)
 /* write the initResponse to a buffer, adding system information */
 {
-  char* buf = buffer + HEADER_LEN; /* leave room for the header-length-indicator */
-  long size;
-  bit_map* optionsBM = NULL;
-
-  RESERVE_SPACE_FOR_HEADER(len);
-
-  buf = writePDUType(init->PDUType,buf,len);
-  buf = writeBoolean(init->Result,buf,len);
-  buf = writeProtocolVersion(buf,len);
-
-  optionsBM = makeBitMap((unsigned long)5,init->willSearch,init->willPresent,
-                         init->willDelete,init->supportAccessControl,
-                         init->supportResourceControl);
-  buf = writeBitMap(optionsBM,DT_Options,buf,len);
-  freeBitMap(optionsBM);
-
-  buf = writeNum(init->PreferredMessageSize,DT_PreferredMessageSize,buf,len);
-  buf = writeNum(init->MaximumRecordSize,DT_MaximumRecordSize,buf,len);
-  buf = writeString(init->IDAuthentication,DT_IDAuthentication,buf,len);
-  buf = writeString(init->ImplementationID,DT_ImplementationID,buf,len);
-  buf = writeString(init->ImplementationName,DT_ImplementationName,buf,len);
-  buf = writeString(init->ImplementationVersion,DT_ImplementationVersion,buf,len);
-  buf = writeAny(init->ReferenceID,DT_ReferenceID,buf,len);
-
-  /* go back and write the header-length-indicator */
-  RELEASE_HEADER_SPACE(len);
-  size = buf - buffer - HEADER_LEN;
-  writeBinaryInteger(size,HEADER_LEN,buffer,len);
-
-  if (init->UserInformationField != NULL)
-    buf = writeInitResponseInfo(init,buf,len);
-
-  return(buf);
-}
-
-/*----------------------------------------------------------------------*/
-
-char*
-readInitResponseAPDU(InitResponseAPDU** init, char* buffer)
-{
-  char* buf = buffer;
-  boolean search,present,delete,accessControl,resourceControl;
-  long prefSize,maxMsgSize;
-  char *auth,*id,*name,*version;
-  long size;
-  pdu_type pduType;
-  bit_map* versionBM = NULL;
-  bit_map* optionsBM = NULL;
-  boolean result;
-  any *refID = NULL;
-  void* userInfo = NULL;
-
-  auth = id = name = version = NULL;
-  refID = NULL;
-
-  /* read required part */
-  buf = readBinaryInteger(&size,HEADER_LEN,buf);
-  buf = readPDUType(&pduType,buf);
-  buf = readBoolean(&result,buf);
-  buf = readBitMap(&versionBM,buf);
-  buf = readBitMap(&optionsBM,buf);
-  buf = readNum(&prefSize,buf);
-  buf = readNum(&maxMsgSize,buf);
-
-  /* decode optionsBM */
-  search = bitAtPos(0,optionsBM);
-  present = bitAtPos(1,optionsBM);
-  delete = bitAtPos(2,optionsBM);
-  accessControl = bitAtPos(3,optionsBM);
-  resourceControl = bitAtPos(4,optionsBM);
-
-  /* read optional part */
-  while (buf < (buffer + size + HEADER_LEN))
-    { data_tag tag = peekTag(buf);
-      switch (tag)
-	{ case DT_IDAuthentication:
-	    buf = readString(&auth,buf);
+    char *buf = buffer + HEADER_LEN;	/* leave room for the header-length-indicator */
+    long size;
+    bit_map *optionsBM = NULL;
+
+    RESERVE_SPACE_FOR_HEADER(len);
+
+    buf = writePDUType(init->PDUType, buf, len);
+    buf = writeBoolean(init->Result, buf, len);
+    buf = writeProtocolVersion(buf, len);
+
+    optionsBM = makeBitMap((unsigned long) 5, init->willSearch, init->willPresent,
+			   init->willDelete, init->supportAccessControl,
+			   init->supportResourceControl);
+    buf = writeBitMap(optionsBM, DT_Options, buf, len);
+    freeBitMap(optionsBM);
+
+    buf = writeNum(init->PreferredMessageSize,
+		   DT_PreferredMessageSize,
+		   buf,
+		   len);
+    buf = writeNum(init->MaximumRecordSize,
+		   DT_MaximumRecordSize,
+		   buf,
+		   len);
+    buf = writeString(init->IDAuthentication,
+		      DT_IDAuthentication,
+		      buf,
+		      len);
+    buf = writeString(init->ImplementationID,
+		      DT_ImplementationID,
+		      buf,
+		      len);
+    buf = writeString(init->ImplementationName,
+		      DT_ImplementationName,
+		      buf,
+		      len);
+    buf = writeString(init->ImplementationVersion,
+		      DT_ImplementationVersion,
+		      buf,
+		      len);
+    buf = writeAny(init->ReferenceID,
+		   DT_ReferenceID,
+		   buf,
+		   len);
+
+    /* go back and write the header-length-indicator */
+    RELEASE_HEADER_SPACE(len);
+    size = buf - buffer - HEADER_LEN;
+    writeBinaryInteger(size, HEADER_LEN, buffer, len);
+
+    if (init->UserInformationField != NULL)
+	buf = writeInitResponseInfo(init, buf, len);
+
+    return (buf);
+}
+
+/*----------------------------------------------------------------------*/
+
+char *readInitResponseAPDU(InitResponseAPDU **init, char *buffer)
+{
+    char *buf = buffer;
+    boolean search, present, delete, accessControl, resourceControl;
+    long prefSize, maxMsgSize;
+    char *auth, *id, *name, *version;
+    long size;
+    pdu_type pduType;
+    bit_map *versionBM = NULL;
+    bit_map *optionsBM = NULL;
+    boolean result;
+    any *refID = NULL;
+    void *userInfo = NULL;
+
+    auth = id = name = version = NULL;
+    refID = NULL;
+
+    /* read required part */
+    buf = readBinaryInteger(&size, HEADER_LEN, buf);
+    buf = readPDUType(&pduType, buf);
+    buf = readBoolean(&result, buf);
+    buf = readBitMap(&versionBM, buf);
+    buf = readBitMap(&optionsBM, buf);
+    buf = readNum(&prefSize, buf);
+    buf = readNum(&maxMsgSize, buf);
+
+    /* decode optionsBM */
+    search = bitAtPos(0, optionsBM);
+    present = bitAtPos(1, optionsBM);
+    delete = bitAtPos(2, optionsBM);
+    accessControl = bitAtPos(3, optionsBM);
+    resourceControl = bitAtPos(4, optionsBM);
+
+    /* read optional part */
+    while (buf < (buffer + size + HEADER_LEN)) {
+	data_tag tag = peekTag(buf);
+
+	switch (tag) {
+	case DT_IDAuthentication:
+	    buf = readString(&auth, buf);
 	    break;
-	  case DT_ImplementationID:
-	    buf = readString(&id,buf);
+	case DT_ImplementationID:
+	    buf = readString(&id, buf);
 	    break;
-	  case DT_ImplementationName:
-	    buf = readString(&name,buf);
+	case DT_ImplementationName:
+	    buf = readString(&name, buf);
 	    break;
-	  case DT_ImplementationVersion:
-	    buf = readString(&version,buf);
+	case DT_ImplementationVersion:
+	    buf = readString(&version, buf);
 	    break;
-	  case DT_ReferenceID:
-	    buf = readAny(&refID,buf);
+	case DT_ReferenceID:
+	    buf = readAny(&refID, buf);
 	    break;
-	  default:
+	default:
 	    freeBitMap(versionBM);
 	    freeBitMap(optionsBM);
 	    s_free(auth);
@@ -575,123 +590,150 @@ readInitResponseAPDU(InitResponseAPDU** init, char* buffer)
 	    freeAny(refID);
 	    REPORT_READ_ERROR(buf);
 	    break;
-	  }
+	}
     }
 
-  buf = readInitResponseInfo(&userInfo,buf);
-  if (buf == NULL)
-    { freeBitMap(versionBM);
-      freeBitMap(optionsBM);
-      s_free(auth);
-      s_free(id);
-      s_free(name);
-      s_free(version);
-      freeAny(refID);
+    buf = readInitResponseInfo(&userInfo, buf);
+    if (buf == NULL) {
+	freeBitMap(versionBM);
+	freeBitMap(optionsBM);
+	s_free(auth);
+	s_free(id);
+	s_free(name);
+	s_free(version);
+	freeAny(refID);
     }
-  RETURN_ON_NULL(buf);
-
-  /* construct the basic init object */
-  *init = makeInitResponseAPDU(result,
-			       search,present,delete,accessControl,resourceControl,
-			       prefSize,maxMsgSize,auth,id,name,version,refID,userInfo);
-
-  freeBitMap(versionBM);
-  freeBitMap(optionsBM);
-  s_free(auth);
-  s_free(id);
-  s_free(name);
-  s_free(version);
-  freeAny(refID);
+    RETURN_ON_NULL(buf);
+
+    /* construct the basic init object */
+    *init = makeInitResponseAPDU(result,
+				 search,
+				 present,
+				 delete,
+				 accessControl,
+				 resourceControl,
+				 prefSize,
+				 maxMsgSize,
+				 auth,
+				 id,
+				 name,
+				 version,
+				 refID,
+				 userInfo);
+
+    freeBitMap(versionBM);
+    freeBitMap(optionsBM);
+    s_free(auth);
+    s_free(id);
+    s_free(name);
+    s_free(version);
+    freeAny(refID);
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-InitResponseAPDU*
-replyToInitAPDU(InitAPDU* init, boolean result, void* userInfo)
+InitResponseAPDU *replyToInitAPDU(InitAPDU * init, boolean result, void *userInfo)
 /* respond to an init message in the default way - echoing back
    the init info
  */
 {
-  InitResponseAPDU* initResp;
-  initResp = makeInitResponseAPDU(result,
-				  init->willSearch,init->willPresent,init->willDelete,
-				  init->supportAccessControl,init->supportResourceControl,
-				  init->PreferredMessageSize,init->MaximumRecordSize,
-				  init->IDAuthentication,defaultImplementationID(),defaultImplementationName(),
-				  defaultImplementationVersion(),
-				  init->ReferenceID,userInfo);
-  return(initResp);
-}
-
-/*----------------------------------------------------------------------*/
-
-SearchAPDU*
-makeSearchAPDU(
-long small,
-long large,
-long medium,
-boolean replace,
-char* name,
-char** databases,
-char* type,
-char** elements,
-any* refID,
-void* queryInfo)
-{
-  char* ptr = NULL;
-  long i;
-  SearchAPDU* query = (SearchAPDU*)s_malloc((size_t)sizeof(SearchAPDU));
-  query->PDUType = searchAPDU;
-  query->SmallSetUpperBound = small;
-  query->LargeSetLowerBound = large;
-  query->MediumSetPresentNumber = medium;
-  query->ReplaceIndicator = replace;
-  query->ResultSetName = s_strdup(name);
-  query->DatabaseNames = NULL;
-  if (databases != NULL) {
-    for (i = 0, ptr = databases[i]; ptr != NULL; ptr = databases[++i]) {
-	if (query->DatabaseNames == NULL)
-	    query->DatabaseNames = (char**)s_malloc((size_t)(sizeof(char*) * 2));
-        else
-          query->DatabaseNames = (char**)s_realloc((char*)query->DatabaseNames,
-						   (size_t)(sizeof(char*) * (i + 2)));
+    InitResponseAPDU *initResp;
+
+    initResp = makeInitResponseAPDU(result,
+				    init->willSearch,
+				    init->willPresent,
+				    init->willDelete,
+				    init->supportAccessControl,
+				    init->supportResourceControl,
+				    init->PreferredMessageSize,
+				    init->MaximumRecordSize,
+				    init->IDAuthentication,
+				    defaultImplementationID(),
+				    defaultImplementationName(),
+				    defaultImplementationVersion(),
+				    init->ReferenceID,
+				    userInfo);
+    return (initResp);
+}
+
+/*----------------------------------------------------------------------*/
+
+SearchAPDU *makeSearchAPDU(long small,
+			   long large,
+			   long medium,
+			   boolean replace,
+			   char *name,
+			   char **databases,
+			   char *type,
+			   char **elements,
+			   any *refID,
+			   void *queryInfo)
+{
+    char *ptr = NULL;
+    long i;
+    SearchAPDU *query = (SearchAPDU *) s_malloc((size_t) sizeof(SearchAPDU));
+
+    query->PDUType = searchAPDU;
+    query->SmallSetUpperBound = small;
+    query->LargeSetLowerBound = large;
+    query->MediumSetPresentNumber = medium;
+    query->ReplaceIndicator = replace;
+    query->ResultSetName = s_strdup(name);
+    query->DatabaseNames = NULL;
+    if (databases != NULL) {
+	for (i = 0, ptr = databases[i]; ptr != NULL; ptr = databases[++i]) {
+	    if (query->DatabaseNames == NULL)
+		query->DatabaseNames = (char **) s_malloc((size_t) (sizeof(char
+									   *)
+								    * 2));
+
+	    else
+		query->DatabaseNames = (char **) s_realloc((char *) query->DatabaseNames,
+							   (size_t) (sizeof(char
+									    *) *
+								       (i + 2)));
+
 	    query->DatabaseNames[i] = s_strdup(ptr);
-	    query->DatabaseNames[i+1] = NULL;
+	    query->DatabaseNames[i + 1] = NULL;
 	}
     }
-  query->QueryType = s_strdup(type);
-  query->ElementSetNames = NULL;
-  if (elements != NULL) {
-    for (i = 0, ptr = elements[i]; ptr != NULL; ptr = elements[++i]) {
-	if (query->ElementSetNames == NULL)
-	    query->ElementSetNames = (char**)s_malloc((size_t)(sizeof(char*) * 2));
-        else
-          query->ElementSetNames = (char**)s_realloc((char*)query->ElementSetNames,
-						     (size_t)(sizeof(char*) * (i + 2)));
+    query->QueryType = s_strdup(type);
+    query->ElementSetNames = NULL;
+    if (elements != NULL) {
+	for (i = 0, ptr = elements[i]; ptr != NULL; ptr = elements[++i]) {
+	    if (query->ElementSetNames == NULL)
+		query->ElementSetNames =
+		    (char **) s_malloc((size_t) (sizeof(char *) * 2));
+
+	    else
+		query->ElementSetNames = (char **) s_realloc((char *) query->ElementSetNames,
+							     (size_t) (sizeof(char
+									      *) *
+								         (i + 2)));
+
 	    query->ElementSetNames[i] = s_strdup(ptr);
-	    query->ElementSetNames[i+1] = NULL;
-	  }
-      }
-  query->ReferenceID = duplicateAny(refID);
-  query->Query = queryInfo;	/* not copied! */
-  return(query);
+	    query->ElementSetNames[i + 1] = NULL;
+	}
+    }
+    query->ReferenceID = duplicateAny(refID);
+    query->Query = queryInfo;	/* not copied! */
+    return (query);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeSearchAPDU(SearchAPDU* query)
+void freeSearchAPDU(SearchAPDU *query)
 {
-  s_free(query->ResultSetName);
-  s_free(query->QueryType);
-  doList((void**)query->DatabaseNames,fs_free); /* can't use the macro here ! */
-  s_free(query->DatabaseNames);
-  doList((void**)query->ElementSetNames,fs_free); /* can't use the macro here ! */
-  s_free(query->ElementSetNames);
-  freeAny(query->ReferenceID);
-  s_free(query);
+    s_free(query->ResultSetName);
+    s_free(query->QueryType);
+    doList((void **) query->DatabaseNames, fs_free);	/* can't use the macro here ! */
+    s_free(query->DatabaseNames);
+    doList((void **) query->ElementSetNames, fs_free);	/* can't use the macro here ! */
+    s_free(query->ElementSetNames);
+    freeAny(query->ReferenceID);
+    s_free(query);
 }
 
 /*----------------------------------------------------------------------*/
@@ -700,224 +742,262 @@ freeSearchAPDU(SearchAPDU* query)
 #define ES_DELIMITER_1	"\037"	/* separates database name from element name */
 #define ES_DELIMITER_2	"\036"	/* hex 1E separates <db,es> groups from one another */
 
-char*
-writeSearchAPDU(SearchAPDU* query, char* buffer, long* len)
-{
-  char* buf = buffer + HEADER_LEN; /* leave room for the header-length-indicator */
-  long size,i;
-  char* ptr = NULL;
-  char* scratch = NULL;
-
-  RESERVE_SPACE_FOR_HEADER(len);
-
-  buf = writePDUType(query->PDUType,buf,len);
-  buf = writeBinaryInteger(query->SmallSetUpperBound,(size_t)3,buf,len);
-  buf = writeBinaryInteger(query->LargeSetLowerBound,(size_t)3,buf,len);
-  buf = writeBinaryInteger(query->MediumSetPresentNumber,(size_t)3,buf,len);
-  buf = writeBoolean(query->ReplaceIndicator,buf,len);
-  buf = writeString(query->ResultSetName,DT_ResultSetName,buf,len);
-  /* write database names */
-  if (query->DatabaseNames != NULL) {
-    for (i = 0,scratch = NULL, ptr = query->DatabaseNames[i]; ptr != NULL; ptr = query->DatabaseNames[++i]) {
-	if (scratch == NULL)
-	    scratch = s_strdup(ptr);
-        else
-	  { size_t newScratchSize = (size_t)(strlen(scratch) + strlen(ptr) + 2);
-	    scratch = (char*)s_realloc(scratch,newScratchSize);
-	    s_strncat(scratch,DB_DELIMITER,2,newScratchSize);
-	    s_strncat(scratch,ptr,strlen(ptr) + 1,newScratchSize);
-	  }
+char *writeSearchAPDU(SearchAPDU *query, char *buffer, long *len)
+{
+    char *buf = buffer + HEADER_LEN;	/* leave room for the header-length-indicator */
+    long size, i;
+    char *ptr = NULL;
+    char *scratch = NULL;
+
+    RESERVE_SPACE_FOR_HEADER(len);
+
+    buf = writePDUType(query->PDUType, buf, len);
+    buf = writeBinaryInteger(query->SmallSetUpperBound, (size_t) 3, buf, len);
+    buf = writeBinaryInteger(query->LargeSetLowerBound, (size_t) 3, buf, len);
+    buf = writeBinaryInteger(query->MediumSetPresentNumber, (size_t) 3, buf, len);
+    buf = writeBoolean(query->ReplaceIndicator, buf, len);
+    buf = writeString(query->ResultSetName, DT_ResultSetName, buf, len);
+    /* write database names */
+    if (query->DatabaseNames != NULL) {
+	for (i = 0, scratch = NULL, ptr = query->DatabaseNames[i]; ptr != NULL;
+	     ptr = query->DatabaseNames[++i]) {
+	    if (scratch == NULL)
+		scratch = s_strdup(ptr);
+	    else {
+		size_t newScratchSize = (size_t) (strlen(scratch) +
+						  strlen(ptr) + 2);
+
+		scratch = (char *) s_realloc(scratch, newScratchSize);
+		s_strncat(scratch, DB_DELIMITER, 2, newScratchSize);
+		s_strncat(scratch, ptr, strlen(ptr) + 1, newScratchSize);
+	    }
 	}
-	buf = writeString(scratch,DT_DatabaseNames,buf,len);
+	buf = writeString(scratch, DT_DatabaseNames, buf, len);
 	s_free(scratch);
-      }
-  buf = writeString(query->QueryType,DT_QueryType,buf,len);
-  /* write element set names */
-  if (query->ElementSetNames != NULL) {
-    for (i = 0,scratch = NULL, ptr = query->ElementSetNames[i]; ptr != NULL; ptr = query->ElementSetNames[++i]) {
-	if (scratch == NULL) {
-	    if (query->ElementSetNames[i+1] == NULL) /* there is a single element set name */
-		{ scratch = (char*)s_malloc((size_t)strlen(ptr) + 2);
-		  strncpy(scratch,ES_DELIMITER_1,2);
-		  s_strncat(scratch,ptr,strlen(ptr) + 1,strlen(ptr) + 2);
+    }
+    buf = writeString(query->QueryType, DT_QueryType, buf, len);
+    /* write element set names */
+    if (query->ElementSetNames != NULL) {
+	for (i = 0, scratch = NULL, ptr = query->ElementSetNames[i];
+	     ptr != NULL;
+	     ptr = query->ElementSetNames[++i]) {
+	    if (scratch == NULL) {
+		if (query->ElementSetNames[i + 1] == NULL)	/* there is a single element set name */
+		{
+		    scratch = (char *) s_malloc((size_t) strlen(ptr) + 2);
+		    strncpy(scratch, ES_DELIMITER_1, 2);
+		    s_strncat(scratch, ptr, strlen(ptr) + 1, strlen(ptr) + 2);
+		} else {	/* this is the first of a series of element set names */
+		    size_t newScratchSize = (size_t) (strlen(ptr) +
+						      strlen(query->ElementSetNames[i
+										    + 1])
+						      + 2);
+
+		    scratch = s_strdup(ptr);	/* the database name */
+		    ptr = query->ElementSetNames[++i];	/* the element set name */
+		    scratch = (char *) s_realloc(scratch, newScratchSize);
+		    s_strncat(scratch, ES_DELIMITER_1, 2, newScratchSize);
+		    s_strncat(scratch, ptr, strlen(ptr) + 1, newScratchSize);
 		}
-	    else		/* this is the first of a series of element set names */
-	      { size_t newScratchSize = (size_t)(strlen(ptr) + strlen(query->ElementSetNames[i + 1]) + 2);
-		scratch = s_strdup(ptr); /* the database name */
-		ptr = query->ElementSetNames[++i]; /* the element set name */
-		scratch = (char*)s_realloc(scratch,newScratchSize);
-		s_strncat(scratch,ES_DELIMITER_1,2,newScratchSize);
-		s_strncat(scratch,ptr,strlen(ptr) + 1,newScratchSize);
-	      }
-	  }
-        else
-	  { char* esPtr = query->ElementSetNames[++i]; /* the element set name */
-	    size_t newScratchSize = (size_t)(strlen(scratch) + strlen(ptr) + strlen(esPtr) + 3);
-	    scratch = (char*)s_realloc(scratch,newScratchSize);
-	    s_strncat(scratch,ES_DELIMITER_2,2,newScratchSize);
-	    s_strncat(scratch,ptr,strlen(ptr) + 1,newScratchSize);
-	    s_strncat(scratch,ES_DELIMITER_1,2,newScratchSize);
-	    s_strncat(scratch,esPtr,strlen(esPtr) + 1,newScratchSize);
-	  }
-	  }
-	buf = writeString(scratch,DT_ElementSetNames,buf,len);
+	    } else {
+		char *esPtr = query->ElementSetNames[++i];	/* the element set name */
+		size_t newScratchSize = (size_t) (strlen(scratch) +
+						  strlen(ptr) +
+						  strlen(esPtr) +
+						  3);
+
+		scratch = (char *) s_realloc(scratch, newScratchSize);
+		s_strncat(scratch, ES_DELIMITER_2, 2, newScratchSize);
+		s_strncat(scratch, ptr, strlen(ptr) + 1, newScratchSize);
+		s_strncat(scratch, ES_DELIMITER_1, 2, newScratchSize);
+		s_strncat(scratch, esPtr, strlen(esPtr) + 1, newScratchSize);
+	    }
+	}
+	buf = writeString(scratch, DT_ElementSetNames, buf, len);
 	s_free(scratch);
-      }
-  buf = writeAny(query->ReferenceID,DT_ReferenceID,buf,len);
+    }
+    buf = writeAny(query->ReferenceID, DT_ReferenceID, buf, len);
 
-  /* go back and write the header-length-indicator */
-  RELEASE_HEADER_SPACE(len);
-  size = buf - buffer - HEADER_LEN;
-  writeBinaryInteger(size,HEADER_LEN,buffer,len);
+    /* go back and write the header-length-indicator */
+    RELEASE_HEADER_SPACE(len);
+    size = buf - buffer - HEADER_LEN;
+    writeBinaryInteger(size, HEADER_LEN, buffer, len);
 
-  if (query->Query != NULL)
-    buf = writeSearchInfo(query,buf,len);
+    if (query->Query != NULL)
+	buf = writeSearchInfo(query, buf, len);
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-SearchResponseAPDU*
-makeSearchResponseAPDU(
-long result,
-long count,
-long recordsReturned,
-long nextPos,
-long resultStatus,
-long presentStatus,
-any* refID,
-void* records)
+SearchResponseAPDU *makeSearchResponseAPDU(long result,
+					   long count,
+					   long recordsReturned,
+					   long nextPos,
+					   long resultStatus,
+					   long presentStatus,
+					   any *refID,
+					   void *records)
 {
-  SearchResponseAPDU* query = (SearchResponseAPDU*)s_malloc((size_t)sizeof(SearchResponseAPDU));
-  query->PDUType = searchResponseAPDU;
-  query->SearchStatus = result;
-  query->ResultCount = count;
-  query->NumberOfRecordsReturned = recordsReturned;
-  query->NextResultSetPosition = nextPos;
-  query->ResultSetStatus = resultStatus;
-  query->PresentStatus = presentStatus;
-  query->ReferenceID = duplicateAny(refID);
-  query->DatabaseDiagnosticRecords = records;
-  return(query);
+    SearchResponseAPDU *query =
+    (SearchResponseAPDU *) s_malloc((size_t) sizeof(SearchResponseAPDU));
+
+    query->PDUType = searchResponseAPDU;
+    query->SearchStatus = result;
+    query->ResultCount = count;
+    query->NumberOfRecordsReturned = recordsReturned;
+    query->NextResultSetPosition = nextPos;
+    query->ResultSetStatus = resultStatus;
+    query->PresentStatus = presentStatus;
+    query->ReferenceID = duplicateAny(refID);
+    query->DatabaseDiagnosticRecords = records;
+    return (query);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeSearchResponseAPDU(SearchResponseAPDU* queryResponse)
+void freeSearchResponseAPDU(SearchResponseAPDU *queryResponse)
 {
-  freeAny(queryResponse->ReferenceID);
-  s_free(queryResponse);
+    freeAny(queryResponse->ReferenceID);
+    s_free(queryResponse);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeSearchResponseAPDU(SearchResponseAPDU* queryResponse, char* buffer, long* len)
+char *writeSearchResponseAPDU(SearchResponseAPDU *queryResponse, char *buffer,
+			      long *len)
 {
-  char* buf = buffer + HEADER_LEN; /* leave room for the header-length-indicator */
-  long size;
+    char *buf = buffer + HEADER_LEN;	/* leave room for the header-length-indicator */
+    long size;
 
-  RESERVE_SPACE_FOR_HEADER(len);
+    RESERVE_SPACE_FOR_HEADER(len);
 
-  buf = writePDUType(queryResponse->PDUType,buf,len);
-  buf = writeBinaryInteger(queryResponse->SearchStatus,(size_t)1,buf,len);
-  buf = writeBinaryInteger(queryResponse->ResultCount,(size_t)3,buf,len);
-  buf = writeBinaryInteger(queryResponse->NumberOfRecordsReturned,(size_t)3,buf,len);
-  buf = writeBinaryInteger(queryResponse->NextResultSetPosition,(size_t)3,buf,len);
-  buf = writeNum(queryResponse->ResultSetStatus,DT_ResultSetStatus,buf,len);
-  buf = writeNum(queryResponse->PresentStatus,DT_PresentStatus,buf,len);
-  buf = writeAny(queryResponse->ReferenceID,DT_ReferenceID,buf,len);
+    buf = writePDUType(queryResponse->PDUType,
+		       buf,
+		       len);
+    buf = writeBinaryInteger(queryResponse->SearchStatus,
+			     (size_t) 1,
+			     buf,
+			     len);
+    buf = writeBinaryInteger(queryResponse->ResultCount,
+			     (size_t) 3,
+			     buf,
+			     len);
+    buf = writeBinaryInteger(queryResponse->NumberOfRecordsReturned,
+			     (size_t) 3,
+			     buf,
+			     len);
+    buf = writeBinaryInteger(queryResponse->NextResultSetPosition,
+			     (size_t) 3,
+			     buf,
+			     len);
+    buf = writeNum(queryResponse->ResultSetStatus,
+		   DT_ResultSetStatus,
+		   buf,
+		   len);
+    buf = writeNum(queryResponse->PresentStatus,
+		   DT_PresentStatus,
+		   buf,
+		   len);
+    buf = writeAny(queryResponse->ReferenceID,
+		   DT_ReferenceID,
+		   buf,
+		   len);
 
-  /* go back and write the header-length-indicator */
-  RELEASE_HEADER_SPACE(len);
-  size = buf - buffer - HEADER_LEN;
-  writeBinaryInteger(size,HEADER_LEN,buffer,len);
+    /* go back and write the header-length-indicator */
+    RELEASE_HEADER_SPACE(len);
+    size = buf - buffer - HEADER_LEN;
+    writeBinaryInteger(size, HEADER_LEN, buffer, len);
 
-  if (queryResponse->DatabaseDiagnosticRecords != NULL)
-    buf = writeSearchResponseInfo(queryResponse,buf,len);
+    if (queryResponse->DatabaseDiagnosticRecords != NULL)
+	buf = writeSearchResponseInfo(queryResponse, buf, len);
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readSearchResponseAPDU(SearchResponseAPDU** queryResponse, char* buffer)
+char *readSearchResponseAPDU(SearchResponseAPDU **queryResponse, char *buffer)
 {
-  char* buf = buffer;
-  long size;
-  pdu_type pduType;
-  long result,count,recordsReturned,nextPos;
-  long resultStatus,presentStatus;
-  any *refID = NULL;
-  void* userInfo = NULL;
-
-  /* read required part */
-  buf = readBinaryInteger(&size,HEADER_LEN,buf);
-  buf = readPDUType(&pduType,buf);
-  buf = readBinaryInteger(&result,(size_t)1,buf);
-  buf = readBinaryInteger(&count,(size_t)3,buf);
-  buf = readBinaryInteger(&recordsReturned,(size_t)3,buf);
-  buf = readBinaryInteger(&nextPos,(size_t)3,buf);
-
-  resultStatus = presentStatus = UNUSED;
-  refID = NULL;
+    char *buf = buffer;
+    long size;
+    pdu_type pduType;
+    long result, count, recordsReturned, nextPos;
+    long resultStatus, presentStatus;
+    any *refID = NULL;
+    void *userInfo = NULL;
 
-  /* read optional part */
-  while (buf < (buffer + size + HEADER_LEN))
-    { data_tag tag = peekTag(buf);
-      switch (tag)
-	{ case DT_ResultSetStatus:
-	    buf = readNum(&resultStatus,buf);
+    /* read required part */
+    buf = readBinaryInteger(&size, HEADER_LEN, buf);
+    buf = readPDUType(&pduType, buf);
+    buf = readBinaryInteger(&result, (size_t) 1, buf);
+    buf = readBinaryInteger(&count, (size_t) 3, buf);
+    buf = readBinaryInteger(&recordsReturned, (size_t) 3, buf);
+    buf = readBinaryInteger(&nextPos, (size_t) 3, buf);
+
+    resultStatus = presentStatus = UNUSED;
+    refID = NULL;
+
+    /* read optional part */
+    while (buf < (buffer + size + HEADER_LEN)) {
+	data_tag tag = peekTag(buf);
+
+	switch (tag) {
+	case DT_ResultSetStatus:
+	    buf = readNum(&resultStatus, buf);
 	    break;
-	  case DT_PresentStatus:
-	    buf = readNum(&presentStatus,buf);
+	case DT_PresentStatus:
+	    buf = readNum(&presentStatus, buf);
 	    break;
-	  case DT_ReferenceID:
-	    buf = readAny(&refID,buf);
+	case DT_ReferenceID:
+	    buf = readAny(&refID, buf);
 	    break;
-	  default:
+	default:
 	    freeAny(refID);
 	    REPORT_READ_ERROR(buf);
 	    break;
-	  }
+	}
     }
 
-  buf = readSearchResponseInfo(&userInfo,buf);
-  if (buf == NULL)
-    freeAny(refID);
-  RETURN_ON_NULL(buf);
-
-  /* construct the search object */
-  *queryResponse = makeSearchResponseAPDU(result,count,recordsReturned,nextPos,
-					  (long)resultStatus,(long)presentStatus,refID,userInfo);
+    buf = readSearchResponseInfo(&userInfo, buf);
+    if (buf == NULL)
+	freeAny(refID);
+    RETURN_ON_NULL(buf);
+
+    /* construct the search object */
+    *queryResponse = makeSearchResponseAPDU(result,
+					    count,
+					    recordsReturned,
+					    nextPos,
+					    (long) resultStatus,
+					    (long) presentStatus,
+					    refID,
+					    userInfo);
 
-  freeAny(refID);
+    freeAny(refID);
 
-  return(buf);
+    return (buf);
 }
 
-
 /*
-**	Routines originally from ZUtil.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from ZUtil.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* WIDE AREA INFORMATION SERVER SOFTWARE:
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   3.26.90	Harry Morris, morris@think.com
-   3.30.90  Harry Morris - Changed any->bits to any->bytes
-   4.11.90  HWM - fixed include file names, changed
-		- writeCompressedIntegerWithPadding() to
-		  writeCompressedIntWithPadding()
-		- generalized conditional includes (see c-dialect.h)
-   3.7.91   Jonny Goldman.  Replaced "short" in makeBitMap with "int" line 632.
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * 3.26.90	Harry Morris, morris@think.com
+ * 3.30.90  Harry Morris - Changed any->bits to any->bytes
+ * 4.11.90  HWM - fixed include file names, changed
+ *		- writeCompressedIntegerWithPadding() to
+ *		  writeCompressedIntWithPadding()
+ *		- generalized conditional includes (see c-dialect.h)
+ * 3.7.91   Jonny Goldman.  Replaced "short" in makeBitMap with "int" line 632.
+ */
 
-char* readErrorPosition = NULL; /* pos where buf stoped making sense */
+char *readErrorPosition = NULL;	/* pos where buf stoped making sense */
 
 /*----------------------------------------------------------------------*/
 /* A note on error handling
@@ -935,118 +1015,113 @@ char* readErrorPosition = NULL; /* pos where buf stoped making sense */
  */
 /*----------------------------------------------------------------------*/
 
-diagnosticRecord*
-makeDiag(boolean surrogate, char* code, char* addInfo)
+diagnosticRecord *makeDiag(boolean surrogate, char *code, char *addInfo)
 {
-  diagnosticRecord* diag =
-    (diagnosticRecord*)s_malloc((size_t)sizeof(diagnosticRecord));
+    diagnosticRecord *diag =
+    (diagnosticRecord *) s_malloc((size_t) sizeof(diagnosticRecord));
 
-  diag->SURROGATE = surrogate;
-  memcpy(diag->DIAG,code,DIAGNOSTIC_CODE_SIZE);
-  diag->ADDINFO = s_strdup(addInfo);
+    diag->SURROGATE = surrogate;
+    memcpy(diag->DIAG, code, DIAGNOSTIC_CODE_SIZE);
+    diag->ADDINFO = s_strdup(addInfo);
 
-  return(diag);
+    return (diag);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeDiag(diagnosticRecord* diag)
+void freeDiag(diagnosticRecord * diag)
 {
-  if (diag != NULL) {
-    if (diag->ADDINFO != NULL)
-	s_free(diag->ADDINFO);
-    s_free(diag);
-  }
+    if (diag != NULL) {
+	if (diag->ADDINFO != NULL)
+	    s_free(diag->ADDINFO);
+	s_free(diag);
+    }
 }
 
 /*----------------------------------------------------------------------*/
 
 #define END_OF_RECORD	0x1D
 
-char*
-writeDiag(diagnosticRecord* diag, char* buffer, long* len)
+char *writeDiag(diagnosticRecord * diag, char *buffer, long *len)
 /* diagnostics (as per Appendix D) have a very weird format - this changes
    in SR-1
  */
 {
-  char* buf = buffer;
-  long  length;
+    char *buf = buffer;
+    long length;
 
-  if (diag == NULL)		/* handle unspecified optional args */
-    return(buf);
+    if (diag == NULL)		/* handle unspecified optional args */
+	return (buf);
 
-  buf = writeTag(DT_DatabaseDiagnosticRecords,buf,len);
-  CHECK_FOR_SPACE_LEFT(0,len);
+    buf = writeTag(DT_DatabaseDiagnosticRecords, buf, len);
+    CHECK_FOR_SPACE_LEFT(0, len);
 
-  length = 3;
-  if (diag->ADDINFO != NULL)
-    length += strlen(diag->ADDINFO);
+    length = 3;
+    if (diag->ADDINFO != NULL)
+	length += strlen(diag->ADDINFO);
 
-  if (length >= 0xFFFF )	/* make sure the length is reasonable */
-    { length = 0xFFFF - 1;
-      diag->ADDINFO[0xFFFF - 3 - 1] = '\0';
+    if (length >= 0xFFFF)	/* make sure the length is reasonable */
+    {
+	length = 0xFFFF - 1;
+	diag->ADDINFO[0xFFFF - 3 - 1] = '\0';
     }
 
-  buf = writeBinaryInteger(length,2,buf,len);
+    buf = writeBinaryInteger(length, 2, buf, len);
 
-  CHECK_FOR_SPACE_LEFT(1,len);
-  buf[0] = diag->DIAG[0];
-  buf++;
+    CHECK_FOR_SPACE_LEFT(1, len);
+    buf[0] = diag->DIAG[0];
+    buf++;
 
-  CHECK_FOR_SPACE_LEFT(1,len);
-  buf[0] = diag->DIAG[1];
-  buf++;
+    CHECK_FOR_SPACE_LEFT(1, len);
+    buf[0] = diag->DIAG[1];
+    buf++;
 
-  if (length > 3)
-    { CHECK_FOR_SPACE_LEFT(3,len);
-      memcpy(buf,diag->ADDINFO,(size_t)length - 3);
-      buf += length - 3;
+    if (length > 3) {
+	CHECK_FOR_SPACE_LEFT(3, len);
+	memcpy(buf, diag->ADDINFO, (size_t) length - 3);
+	buf += length - 3;
     }
 
-  CHECK_FOR_SPACE_LEFT(1,len);
-  buf[0] = diag->SURROGATE;
-  buf++;
+    CHECK_FOR_SPACE_LEFT(1, len);
+    buf[0] = diag->SURROGATE;
+    buf++;
 
-  CHECK_FOR_SPACE_LEFT(1,len);
-  buf[0] = END_OF_RECORD;
-  buf++;
+    CHECK_FOR_SPACE_LEFT(1, len);
+    buf[0] = END_OF_RECORD;
+    buf++;
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readDiag(diagnosticRecord** diag, char* buffer)
+char *readDiag(diagnosticRecord ** diag, char *buffer)
 {
-  char* buf = buffer;
-  diagnosticRecord* d
-    = (diagnosticRecord*)s_malloc((size_t)sizeof(diagnosticRecord));
-  data_tag tag;
-  long len;
+    char *buf = buffer;
+    diagnosticRecord *d = (diagnosticRecord *) s_malloc((size_t) sizeof(diagnosticRecord));
+    data_tag tag;
+    long len;
 
-  buf = readTag(&tag,buf);
+    buf = readTag(&tag, buf);
 
-  buf = readBinaryInteger(&len,2,buf);
+    buf = readBinaryInteger(&len, 2, buf);
 
-  d->DIAG[0] = buf[0];
-  d->DIAG[1] = buf[1];
-  d->DIAG[2] = '\0';
+    d->DIAG[0] = buf[0];
+    d->DIAG[1] = buf[1];
+    d->DIAG[2] = '\0';
 
-  if (len > 3)
-    { d->ADDINFO = (char*)s_malloc((size_t)(len - 3 + 1));
-      memcpy(d->ADDINFO,(char*)(buf + 2),(size_t)(len - 3));
-      d->ADDINFO[len - 3] = '\0';
-    }
-  else
-    d->ADDINFO = NULL;
+    if (len > 3) {
+	d->ADDINFO = (char *) s_malloc((size_t) (len - 3 + 1));
+	memcpy(d->ADDINFO, (char *) (buf + 2), (size_t) (len - 3));
+	d->ADDINFO[len - 3] = '\0';
+    } else
+	d->ADDINFO = NULL;
 
-  d->SURROGATE = buf[len - 1];
+    d->SURROGATE = buf[len - 1];
 
-  *diag = d;
+    *diag = d;
 
-  return(buf + len + 1);
+    return (buf + len + 1);
 }
 
 /*----------------------------------------------------------------------*/
@@ -1055,417 +1130,404 @@ readDiag(diagnosticRecord** diag, char* buffer)
 #define dataMask	0x7F
 #define dataBits	7
 
-char*
-writeCompressedInteger(unsigned long num, char* buf, long* len)
+char *writeCompressedInteger(unsigned long num, char *buf, long *len)
 /* write a binary integer in the format described on p. 40.
    this might be sped up
 */
 {
-  char byte;
-  unsigned long i;
-  unsigned long size;
+    char byte;
+    unsigned long i;
+    unsigned long size;
 
-  size = writtenCompressedIntSize(num);
-  CHECK_FOR_SPACE_LEFT(size,len);
+    size = writtenCompressedIntSize(num);
+    CHECK_FOR_SPACE_LEFT(size, len);
 
-  for (i = size - 1; i != 0; i--)
-    { byte = num & dataMask;
-      if (i != (size-1))	/* turn on continue bit */
-	byte = (char)(byte | continueBit);
-      buf[i] = byte;
-      num = num >> dataBits;	/* don't and here */
+    for (i = size - 1; i != 0; i--) {
+	byte = num & dataMask;
+	if (i != (size - 1))	/* turn on continue bit */
+	    byte = (char) (byte | continueBit);
+	buf[i] = byte;
+	num = num >> dataBits;	/* don't and here */
     }
 
-  return(buf + size);
+    return (buf + size);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readCompressedInteger(unsigned long *num, char* buf)
+char *readCompressedInteger(unsigned long *num, char *buf)
 /* read a binary integer in the format described on p. 40.
    this might be sped up
 */
 {
-  long i = 0;
-  unsigned char byte;
+    long i = 0;
+    unsigned char byte;
 
-  *num = 0;
+    *num = 0;
 
-  do
-    { byte = buf[i++];
-      *num = *num << dataBits;
-      *num += (byte & dataMask);
+    do {
+	byte = buf[i++];
+	*num = *num << dataBits;
+	*num += (byte & dataMask);
     }
-  while (byte & continueBit);
+    while (byte & continueBit);
 
-  return(buf + i);
+    return (buf + i);
 }
 
 /*----------------------------------------------------------------------*/
 
-#define pad	128 /* high bit is set */
+#define pad	128		/* high bit is set */
 
-char*
-writeCompressedIntWithPadding(
-unsigned long num,
-unsigned long size,
-char* buffer,
-long* len)
+char *writeCompressedIntWithPadding(unsigned long num,
+				    unsigned long size,
+				    char *buffer,
+				    long *len)
 /* Like writeCompressedInteger, except writes padding (128) to make
    sure that size bytes are used.  This can be read correctly by
    readCompressedInteger()
 */
 {
-  char* buf = buffer;
-  unsigned long needed,padding;
-  long i;
+    char *buf = buffer;
+    unsigned long needed, padding;
+    long i;
 
-  CHECK_FOR_SPACE_LEFT(size,len);
+    CHECK_FOR_SPACE_LEFT(size, len);
 
-  needed = writtenCompressedIntSize(num);
-  padding = size - needed;
-  i = padding - 1;
+    needed = writtenCompressedIntSize(num);
+    padding = size - needed;
+    i = padding - 1;
 
-  for (i = padding - 1;i >= 0;i--)
-    { buf[i] = pad;
+    for (i = padding - 1; i >= 0; i--) {
+	buf[i] = pad;
     }
 
-  buf = writeCompressedInteger(num,buf + padding,len);
+    buf = writeCompressedInteger(num, buf + padding, len);
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenCompressedIntSize(unsigned long num)
+unsigned long writtenCompressedIntSize(unsigned long num)
 /* return the number of bytes needed to represnet the value num in
    compressed format.  curently limited to 4 bytes
  */
 {
-  if (num < CompressedInt1Byte)
-    return(1);
-  else if (num < CompressedInt2Byte)
-    return(2);
-  else if (num < CompressedInt3Byte)
-    return(3);
-  else
-    return(4);
+    if (num < CompressedInt1Byte)
+	return (1);
+    else if (num < CompressedInt2Byte)
+	return (2);
+    else if (num < CompressedInt3Byte)
+	return (3);
+    else
+	return (4);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeTag(data_tag tag, char* buf, long* len)
+char *writeTag(data_tag tag, char *buf, long *len)
 /* write out a data tag */
 {
-  return(writeCompressedInteger(tag,buf,len));
+    return (writeCompressedInteger(tag, buf, len));
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readTag(data_tag* tag, char* buf)
+char *readTag(data_tag *tag, char *buf)
 /* read a data tag */
 {
-  return(readCompressedInteger(tag,buf));
+    return (readCompressedInteger(tag, buf));
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenTagSize(data_tag tag)
+unsigned long writtenTagSize(data_tag tag)
 {
-  return(writtenCompressedIntSize(tag));
+    return (writtenCompressedIntSize(tag));
 }
 
 /*----------------------------------------------------------------------*/
 
-data_tag
-peekTag(char* buf)
+data_tag peekTag(char *buf)
 /* read a data tag without advancing the buffer */
 {
-  data_tag tag;
-  readTag(&tag,buf);
-  return(tag);
+    data_tag tag;
+
+    readTag(&tag, buf);
+    return (tag);
 }
 
 /*----------------------------------------------------------------------*/
 
-any*
-makeAny(unsigned long size, char* data)
+any *makeAny(unsigned long size, char *data)
 {
-  any* a = (any*)s_malloc((size_t)sizeof(any));
-  a->size = size;
-  a->bytes = data;
-  return(a);
+    any *a = (any *) s_malloc((size_t) sizeof(any));
+
+    a->size = size;
+    a->bytes = data;
+    return (a);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeAny(any* a)
+void freeAny(any *a)
 /* destroy an any and its associated data.  Assumes a->bytes was
    allocated using the s_malloc family of libraries
  */
 {
-  if (a != NULL)
-    { if (a->bytes != NULL)
-	s_free(a->bytes);
-      s_free(a);
+    if (a != NULL) {
+	if (a->bytes != NULL)
+	    s_free(a->bytes);
+	s_free(a);
     }
 }
 
 /*----------------------------------------------------------------------*/
 
-any*
-duplicateAny(any* a)
+any *duplicateAny(any *a)
 {
-  any* copy = NULL;
+    any *copy = NULL;
 
-  if (a == NULL)
-    return(NULL);
+    if (a == NULL)
+	return (NULL);
 
-  copy = (any*)s_malloc((size_t)sizeof(any));
-  copy->size = a->size;
-  if (a->bytes == NULL)
-    copy->bytes = NULL;
-  else
-    { copy->bytes = (char*)s_malloc((size_t)copy->size);
-      memcpy(copy->bytes,a->bytes,(size_t)copy->size);
+    copy = (any *) s_malloc((size_t) sizeof(any));
+
+    copy->size = a->size;
+    if (a->bytes == NULL)
+	copy->bytes = NULL;
+    else {
+	copy->bytes = (char *) s_malloc((size_t) copy->size);
+	memcpy(copy->bytes, a->bytes, (size_t) copy->size);
     }
-  return(copy);
+    return (copy);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeAny(any* a, data_tag tag, char* buffer, long* len)
+char *writeAny(any *a, data_tag tag, char *buffer, long *len)
 /* write an any + tag and size info */
 {
-  char* buf = buffer;
+    char *buf = buffer;
 
-  if (a == NULL)		/* handle unspecified optional args */
-    return(buf);
+    if (a == NULL)		/* handle unspecified optional args */
+	return (buf);
 
-  /* write the tags */
-  buf = writeTag(tag,buf,len);
-  buf = writeCompressedInteger(a->size,buf,len);
+    /* write the tags */
+    buf = writeTag(tag, buf, len);
+    buf = writeCompressedInteger(a->size, buf, len);
 
-  /* write the bytes */
-  CHECK_FOR_SPACE_LEFT(a->size,len);
-  memcpy(buf,a->bytes,(size_t)a->size);
+    /* write the bytes */
+    CHECK_FOR_SPACE_LEFT(a->size, len);
+    memcpy(buf, a->bytes, (size_t) a->size);
 
-  return(buf+a->size);
+    return (buf + a->size);
 }
 
 /*----------------------------------------------------------------------*/
 
-
-char *readAny(any** anAny, char* buffer)
+char *readAny(any **anAny, char *buffer)
 /* read an any + tag and size info */
 {
-  char *buf;
-  any* a;
-  data_tag tag;
+    char *buf;
+    any *a;
+    data_tag tag;
 
+    a = (any *) s_malloc((size_t) sizeof(any));
 
+    buf = buffer;
 
-a=(any*)s_malloc((size_t)sizeof(any));
+    buf = readTag(&tag, buf);
 
-  buf=buffer;
+    buf = readCompressedInteger(&a->size, buf);
 
-  buf = readTag(&tag,buf);
+    /* now simply copy the bytes */
+    a->bytes = (char *) s_malloc((size_t) a->size);
+    memcpy(a->bytes, buf, (size_t) a->size);
+    *anAny = a;
 
-  buf = readCompressedInteger(&a->size,buf);
-
-  /* now simply copy the bytes */
-  a->bytes = (char*)s_malloc((size_t)a->size);
-  memcpy(a->bytes,buf,(size_t)a->size);
-  *anAny = a;
-
-  return(buf+a->size);
+    return (buf + a->size);
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenAnySize(data_tag tag, any* a)
+unsigned long writtenAnySize(data_tag tag, any *a)
 {
-  unsigned long size;
+    unsigned long size;
 
-  if (a == NULL)
-    return(0);
+    if (a == NULL)
+	return (0);
 
-  size = writtenTagSize(tag);
-  size += writtenCompressedIntSize(a->size);
-  size += a->size;
-  return(size);
+    size = writtenTagSize(tag);
+    size += writtenCompressedIntSize(a->size);
+    size += a->size;
+    return (size);
 }
 
 /*----------------------------------------------------------------------*/
 
-any*
-stringToAny(char* s)
+any *stringToAny(char *s)
 {
-  any* a = NULL;
+    any *a = NULL;
 
-  if (s == NULL)
-    return(NULL);
+    if (s == NULL)
+	return (NULL);
 
-  a = (any*)s_malloc((size_t)sizeof(any));
-  a->size = strlen(s);
-  a->bytes = (char*)s_malloc((size_t)a->size);
-  memcpy(a->bytes,s,(size_t)a->size);
-  return(a);
+    a = (any *) s_malloc((size_t) sizeof(any));
+
+    a->size = strlen(s);
+    a->bytes = (char *) s_malloc((size_t) a->size);
+    memcpy(a->bytes, s, (size_t) a->size);
+    return (a);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-anyToString(any* a)
+char *anyToString(any *a)
 {
-  char* s = NULL;
+    char *s = NULL;
 
-  if (a == NULL)
-    return(NULL);
+    if (a == NULL)
+	return (NULL);
 
-  s = s_malloc((size_t)(a->size + 1));
-  memcpy(s,a->bytes,(size_t)a->size);
-  s[a->size] = '\0';
-  return(s);
+    s = s_malloc((size_t) (a->size + 1));
+    memcpy(s, a->bytes, (size_t) a->size);
+    s[a->size] = '\0';
+    return (s);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeString(char* s, data_tag tag, char* buffer, long* len)
+char *writeString(char *s, data_tag tag, char *buffer, long *len)
 /* Write a C style string.  The terminating null is not written.
    This function is not part of the Z39.50 spec.  It is provided
    for the convienience of those wishing to pass C strings in
    the place of an any.
  */
 {
-  char* buf = buffer;
-  any* data = NULL;
-  if (s == NULL)
-    return(buffer);		/* handle unused optional item before making an any */
-  data = (any*)s_malloc((size_t)sizeof(any));
-  data->size = strlen(s);
-  data->bytes = s;		/* save a copy here by not using stringToAny() */
-  buf = writeAny(data,tag,buf,len);
-  s_free(data);			/* don't use freeAny() since it will free s too */
-  return(buf);
+    char *buf = buffer;
+    any *data = NULL;
+
+    if (s == NULL)
+	return (buffer);	/* handle unused optional item before making an any */
+    data = (any *) s_malloc((size_t) sizeof(any));
+
+    data->size = strlen(s);
+    data->bytes = s;		/* save a copy here by not using stringToAny() */
+    buf = writeAny(data, tag, buf, len);
+    s_free(data);		/* don't use freeAny() since it will free s too */
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readString(char** s, char* buffer)
+char *readString(char **s, char *buffer)
 /* Read an any and convert it into a C style string.
    This function is not part of the Z39.50 spec.  It is provided
    for the convienience of those wishing to pass C strings in
    the place of an any.
  */
 {
-  any* data = NULL;
-  char* buf = readAny(&data,buffer);
-  *s = anyToString(data);
-  freeAny(data);
-  return(buf);
+    any *data = NULL;
+    char *buf = readAny(&data, buffer);
+
+    *s = anyToString(data);
+    freeAny(data);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenStringSize(data_tag tag, char* s)
+unsigned long writtenStringSize(data_tag tag, char *s)
 {
-  unsigned long size;
+    unsigned long size;
 
-  if (s == NULL)
-   return(0);
+    if (s == NULL)
+	return (0);
 
-  size = writtenTagSize(tag);
-  size += writtenCompressedIntSize(size);
-  size += strlen(s);
-  return(size);
+    size = writtenTagSize(tag);
+    size += writtenCompressedIntSize(size);
+    size += strlen(s);
+    return (size);
 }
 
 /*----------------------------------------------------------------------*/
 
-any*
-longToAny(long num)
+any *longToAny(long num)
 /* a convienience function */
 {
-  char s[40];
+    char s[40];
 
-  sprintf(s,"%ld",num);
+    sprintf(s, "%ld", num);
 
-  return(stringToAny(s));
+    return (stringToAny(s));
 }
 
 /*----------------------------------------------------------------------*/
 
-long
-anyToLong(any* a)
+long anyToLong(any *a)
 /* a convienience function */
 {
-  long num;
-  char* str = NULL;
-  str = anyToString(a);
-  sscanf(str,"%ld",&num);	/* could check the result and return
+    long num;
+    char *str = NULL;
+
+    str = anyToString(a);
+    sscanf(str, "%ld", &num);	/* could check the result and return
 				   an error */
-  s_free(str);
-  return(num);
+    s_free(str);
+    return (num);
 }
 
 /*----------------------------------------------------------------------*/
 
 #define bitsPerByte	8
 
-bit_map*
-makeBitMap(unsigned long numBits, ...)
+bit_map *makeBitMap(unsigned long numBits,...)
 /* construct and return a bitmap with numBits elements */
 {
-  va_list ap;
-  unsigned long i,j;
-  bit_map* bm = NULL;
-
-  LYva_start(ap,numBits);
-
-  bm = (bit_map*)s_malloc((size_t)sizeof(bit_map));
-  bm->size = (unsigned long)(ceil((double)numBits / bitsPerByte));
-  bm->bytes = (char*)s_malloc((size_t)bm->size);
-
-  /* fill up the bits */
-  for (i = 0; i < bm->size; i++) /* iterate over bytes */
-    { char byte = 0;
-      for (j = 0; j < bitsPerByte; j++) /* iterate over bits */
-	{ if ((i * bitsPerByte + j) < numBits)
-	    { boolean bit = false;
-	      bit = (boolean)va_arg(ap,boolean);
-	      if (bit)
-	        { byte = byte | (1 << (bitsPerByte - j - 1));
-	        }
+    va_list ap;
+    unsigned long i, j;
+    bit_map *bm = NULL;
+
+    LYva_start(ap, numBits);
+
+    bm = (bit_map *) s_malloc((size_t) sizeof(bit_map));
+
+    bm->size = (unsigned long) (ceil((double) numBits / bitsPerByte));
+    bm->bytes = (char *) s_malloc((size_t) bm->size);
+
+    /* fill up the bits */
+    for (i = 0; i < bm->size; i++)	/* iterate over bytes */
+    {
+	char byte = 0;
+
+	for (j = 0; j < bitsPerByte; j++)	/* iterate over bits */
+	{
+	    if ((i * bitsPerByte + j) < numBits) {
+		boolean bit = false;
+
+		bit = (boolean) va_arg(ap, boolean);
+
+		if (bit) {
+		    byte = byte | (1 << (bitsPerByte - j - 1));
+		}
 	    }
-	  }
-      bm->bytes[i] = byte;
+	}
+	bm->bytes[i] = byte;
     }
 
-  va_end(ap);
-  return(bm);
+    va_end(ap);
+    return (bm);
 }
 
-
 /*----------------------------------------------------------------------*/
 
-void
-freeBitMap(bit_map* bm)
+void freeBitMap(bit_map *bm)
 /* destroy a bit map created by makeBitMap() */
 {
-  s_free(bm->bytes);
-  s_free(bm);
+    s_free(bm->bytes);
+    s_free(bm);
 }
 
 /*----------------------------------------------------------------------*/
@@ -1475,386 +1537,367 @@ freeBitMap(bit_map* bm)
    Could do bounds checking.
  */
 
-boolean
-bitAtPos(unsigned long pos, bit_map* bm)
+boolean bitAtPos(unsigned long pos, bit_map *bm)
 {
-  if (pos > bm->size*bitsPerByte)
-    return false;
-  else
-    return((bm->bytes[(pos / bitsPerByte)] &
-	    (0x80>>(pos % bitsPerByte))) ?
-	   true : false);
+    if (pos > bm->size * bitsPerByte)
+	return false;
+    else
+	return ((bm->bytes[(pos / bitsPerByte)] &
+		 (0x80 >> (pos % bitsPerByte))) ?
+		true : false);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeBitMap(bit_map* bm, data_tag tag, char* buffer, long* len)
+char *writeBitMap(bit_map *bm, data_tag tag, char *buffer, long *len)
 /* write a bitmap + type and size info */
 {
-  return(writeAny((any*)bm,tag,buffer,len));
+    return (writeAny((any *) bm, tag, buffer, len));
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readBitMap(bit_map** bm, char* buffer)
+char *readBitMap(bit_map **bm, char *buffer)
 /* read a bitmap + type and size info */
 {
     char *c;
-    c = readAny((any**)bm,buffer);
-    return(c);
+
+    c = readAny((any **) bm, buffer);
+    return (c);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeByte(unsigned long byte, char* buf, long* len)
+char *writeByte(unsigned long byte, char *buf, long *len)
 {
-  CHECK_FOR_SPACE_LEFT(1,len);
-  buf[0] = byte & 0xFF; /* we really only want the first byte */
-  return(buf + 1);
+    CHECK_FOR_SPACE_LEFT(1, len);
+    buf[0] = byte & 0xFF;	/* we really only want the first byte */
+    return (buf + 1);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readByte(unsigned char* byte, char* buf)
+char *readByte(unsigned char *byte, char *buf)
 {
-  *byte = buf[0];
-  return(buf + 1);
+    *byte = buf[0];
+    return (buf + 1);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeBoolean(boolean flag, char* buf, long* len)
+char *writeBoolean(boolean flag, char *buf, long *len)
 {
-  return(writeByte(flag,buf,len));
+    return (writeByte(flag, buf, len));
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readBoolean(boolean* flag, char* buffer)
+char *readBoolean(boolean *flag, char *buffer)
 {
-  unsigned char byte;
-  char* buf = readByte(&byte,buffer);
-  *flag = (byte == true) ? true : false;
-  return(buf);
+    unsigned char byte;
+    char *buf = readByte(&byte, buffer);
+
+    *flag = (byte == true) ? true : false;
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writePDUType(pdu_type pduType, char* buf, long* len)
+char *writePDUType(pdu_type pduType, char *buf, long *len)
 /* PDUType is a single byte */
 {
-  return(writeBinaryInteger((long)pduType,(unsigned long)1,buf,len));
+    return (writeBinaryInteger((long) pduType, (unsigned long) 1, buf, len));
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readPDUType(pdu_type* pduType, char* buf)
+char *readPDUType(pdu_type *pduType, char *buf)
 /* PDUType is a single byte */
 {
-  return(readBinaryInteger((long*)pduType,(unsigned long)1,buf));
+    return (readBinaryInteger((long *) pduType, (unsigned long) 1, buf));
 }
 
 /*----------------------------------------------------------------------*/
 
-pdu_type
-peekPDUType(char* buf)
+pdu_type peekPDUType(char *buf)
 /* read the next pdu without advancing the buffer, Note that this
    function is to be used on a buffer that is known to contain an
    APDU.  The pdu_type is written HEADER_LEN bytes into the buffer
  */
 {
-  pdu_type pdu;
-  readPDUType(&pdu,buf + HEADER_LEN);
-  return(pdu);
+    pdu_type pdu;
+
+    readPDUType(&pdu, buf + HEADER_LEN);
+    return (pdu);
 }
 
 /*----------------------------------------------------------------------*/
 
-#define BINARY_INTEGER_BYTES	sizeof(long) /* the number of bytes used by
-						a "binary integer" */
-char*
-writeBinaryInteger(long num, unsigned long size, char* buf, long* len)
+#define BINARY_INTEGER_BYTES	sizeof(long)	/* the number of bytes used by
+						   a "binary integer" */
+char *writeBinaryInteger(long num, unsigned long size, char *buf, long *len)
 /* write out first size bytes of num - no type info
   XXX should this take unsigned longs instead ???  */
 {
-  long i;
-  char byte;
+    long i;
+    char byte;
 
-  if (size < 1 || size > BINARY_INTEGER_BYTES)
-    return(NULL);		/* error */
+    if (size < 1 || size > BINARY_INTEGER_BYTES)
+	return (NULL);		/* error */
 
-  CHECK_FOR_SPACE_LEFT(size,len);
+    CHECK_FOR_SPACE_LEFT(size, len);
 
-  for (i = size - 1; i >= 0; i--)
-    { byte = (char)(num & 255);
-      buf[i] = byte;
-      num = num >> bitsPerByte; /* don't and here */
+    for (i = size - 1; i >= 0; i--) {
+	byte = (char) (num & 255);
+	buf[i] = byte;
+	num = num >> bitsPerByte;	/* don't and here */
     }
 
-  return(buf + size);
+    return (buf + size);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readBinaryInteger(long* num, unsigned long size, char* buf)
+char *readBinaryInteger(long *num, unsigned long size, char *buf)
 /* read in first size bytes of num - no type info
   XXX this should take unsigned longs instead !!! */
 {
-  unsigned long i;
-  unsigned char byte;
+    unsigned long i;
+    unsigned char byte;
 
-  if (size < 1 || size > BINARY_INTEGER_BYTES)
-    return(buf);		/* error */
-  *num = 0;
+    if (size < 1 || size > BINARY_INTEGER_BYTES)
+	return (buf);		/* error */
+    *num = 0;
 
-  for (i = 0; i < size; i++)
-    { byte = buf[i];
-      *num = *num << bitsPerByte;
-      *num += byte;
+    for (i = 0; i < size; i++) {
+	byte = buf[i];
+	*num = *num << bitsPerByte;
+	*num += byte;
     }
 
-  return(buf + size);
+    return (buf + size);
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenCompressedBinIntSize(long num)
+unsigned long writtenCompressedBinIntSize(long num)
 /* return the number of bytes needed to represent the value num.
    currently limited to max of 4 bytes
    Only compresses for positive nums - negatives get whole 4 bytes
  */
 {
-  if (num < 0L)
-    return(4);
-  else if (num < 256L)		/* 2**8 */
-    return(1);
-  else if (num < 65536L)	/* 2**16 */
-    return(2);
-  else if (num < 16777216L)	/* 2**24 */
-    return(3);
-  else
-    return(4);
+    if (num < 0L)
+	return (4);
+    else if (num < 256L)	/* 2**8 */
+	return (1);
+    else if (num < 65536L)	/* 2**16 */
+	return (2);
+    else if (num < 16777216L)	/* 2**24 */
+	return (3);
+    else
+	return (4);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeNum(long num, data_tag tag, char* buffer, long* len)
+char *writeNum(long num, data_tag tag, char *buffer, long *len)
 /* write a binary integer + size and tag info */
 {
-  char* buf = buffer;
-  long size = writtenCompressedBinIntSize(num);
+    char *buf = buffer;
+    long size = writtenCompressedBinIntSize(num);
 
-  if (num == UNUSED)
-    return(buffer);
+    if (num == UNUSED)
+	return (buffer);
 
-  buf = writeTag(tag,buf,len);
-  buf = writeCompressedInteger(size,buf,len);
-  buf = writeBinaryInteger(num,(unsigned long)size,buf,len);
-  return(buf);
+    buf = writeTag(tag, buf, len);
+    buf = writeCompressedInteger(size, buf, len);
+    buf = writeBinaryInteger(num, (unsigned long) size, buf, len);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readNum(long* num, char* buffer)
+char *readNum(long *num, char *buffer)
 /* read a binary integer + size and tag info */
 {
-  char* buf = buffer;
-  data_tag tag;
-  unsigned long size;
-  unsigned long val;
+    char *buf = buffer;
+    data_tag tag;
+    unsigned long size;
+    unsigned long val;
 
-  buf = readTag(&tag,buf);
-  buf = readCompressedInteger(&val,buf);
-  size = (unsigned long)val;
-  buf = readBinaryInteger(num,size,buf);
-  return(buf);
+    buf = readTag(&tag, buf);
+    buf = readCompressedInteger(&val, buf);
+    size = (unsigned long) val;
+    buf = readBinaryInteger(num, size, buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-unsigned long
-writtenNumSize(data_tag tag, long num)
+unsigned long writtenNumSize(data_tag tag, long num)
 {
-  long dataSize = writtenCompressedBinIntSize(num);
-  long size;
+    long dataSize = writtenCompressedBinIntSize(num);
+    long size;
 
-  size = writtenTagSize(tag); /* space for the tag */
-  size += writtenCompressedIntSize(dataSize); /* space for the size */
-  size += dataSize; /* space for the data */
+    size = writtenTagSize(tag);	/* space for the tag */
+    size += writtenCompressedIntSize(dataSize);		/* space for the size */
+    size += dataSize;		/* space for the data */
 
-  return(size);
+    return (size);
 }
 
 /*----------------------------------------------------------------------*/
 
-typedef void (voidfunc)(void *);
+typedef void (voidfunc) (void *);
 
-void
-doList(void** list, voidfunc *func)
+void doList(void **list, voidfunc * func)
 /* call func on each element of the NULL terminated list of pointers */
 {
-  register long i;
-  register void* ptr = NULL;
-  if (list == NULL)
-    return;
-  for (i = 0,ptr = list[i]; ptr != NULL; ptr = list[++i])
-    (*func)(ptr);
+    register long i;
+    register void *ptr = NULL;
+
+    if (list == NULL)
+	return;
+    for (i = 0, ptr = list[i]; ptr != NULL; ptr = list[++i])
+	(*func) (ptr);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-writeProtocolVersion(char* buf, long* len)
+char *writeProtocolVersion(char *buf, long *len)
 /* write a bitmap describing the protocols available */
 {
-  static bit_map* version = NULL;
+    static bit_map *version = NULL;
 
-  if (version == NULL)
-   { version = makeBitMap((unsigned long)1,true); /* version 1! */
-   }
+    if (version == NULL) {
+	version = makeBitMap((unsigned long) 1, true);	/* version 1! */
+    }
 
-  return(writeBitMap(version,DT_ProtocolVersion,buf,len));
+    return (writeBitMap(version, DT_ProtocolVersion, buf, len));
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-defaultImplementationID(void)
+char *defaultImplementationID(void)
 {
-  static char	ImplementationID[] = "TMC";
-  return(ImplementationID);
+    static char ImplementationID[] = "TMC";
+
+    return (ImplementationID);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-defaultImplementationName(void)
+char *defaultImplementationName(void)
 {
-  static char ImplementationName[] = "Thinking Machines Corporation Z39.50";
-  return(ImplementationName);
+    static char ImplementationName[] = "Thinking Machines Corporation Z39.50";
+
+    return (ImplementationName);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-defaultImplementationVersion(void)
+char *defaultImplementationVersion(void)
 {
-  static char	ImplementationVersion[] = "2.0A";
-  return(ImplementationVersion);
+    static char ImplementationVersion[] = "2.0A";
+
+    return (ImplementationVersion);
 }
 
 /*----------------------------------------------------------------------*/
 
-
 /*
-**	Routines originally from ZType1.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from ZType1.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* WIDE AREA INFORMATION SERVER SOFTWARE:
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   3.26.90	Harry Morris, morris@think.com
-   4.11.90  HWM - generalized conditional includes (see c-dialect.h)
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * 3.26.90	Harry Morris, morris@think.com
+ * 4.11.90  HWM - generalized conditional includes (see c-dialect.h)
+ */
 /*----------------------------------------------------------------------*/
 
-query_term*
-makeAttributeTerm(
-char* use,
-char* relation,
-char* position,
-char* structure,
-char* truncation,
-char* completeness,
-any* term)
+query_term *makeAttributeTerm(char *use,
+			      char *relation,
+			      char *position,
+			      char *structure,
+			      char *truncation,
+			      char *completeness,
+			      any *term)
 {
-  query_term* qt = (query_term*)s_malloc((size_t)sizeof(query_term));
+    query_term *qt = (query_term *) s_malloc((size_t) sizeof(query_term));
 
-  qt->TermType = TT_Attribute;
+    qt->TermType = TT_Attribute;
 
-  /* copy in the attributes */
-  strncpy(qt->Use,use,ATTRIBUTE_SIZE);
-  strncpy(qt->Relation,relation,ATTRIBUTE_SIZE);
-  strncpy(qt->Position,position,ATTRIBUTE_SIZE);
-  strncpy(qt->Structure,structure,ATTRIBUTE_SIZE);
-  strncpy(qt->Truncation,truncation,ATTRIBUTE_SIZE);
-  strncpy(qt->Completeness,completeness,ATTRIBUTE_SIZE);
+    /* copy in the attributes */
+    strncpy(qt->Use, use, ATTRIBUTE_SIZE);
+    strncpy(qt->Relation, relation, ATTRIBUTE_SIZE);
+    strncpy(qt->Position, position, ATTRIBUTE_SIZE);
+    strncpy(qt->Structure, structure, ATTRIBUTE_SIZE);
+    strncpy(qt->Truncation, truncation, ATTRIBUTE_SIZE);
+    strncpy(qt->Completeness, completeness, ATTRIBUTE_SIZE);
 
-  qt->Term = duplicateAny(term);
+    qt->Term = duplicateAny(term);
 
-  qt->ResultSetID = NULL;
+    qt->ResultSetID = NULL;
 
-  return(qt);
+    return (qt);
 }
 
 /*----------------------------------------------------------------------*/
 
-query_term*
-makeResultSetTerm(any* resultSet)
+query_term *makeResultSetTerm(any *resultSet)
 {
-  query_term* qt = (query_term*)s_malloc((size_t)sizeof(query_term));
+    query_term *qt = (query_term *) s_malloc((size_t) sizeof(query_term));
 
-  qt->TermType = TT_ResultSetID;
+    qt->TermType = TT_ResultSetID;
 
-  qt->ResultSetID = duplicateAny(resultSet);
+    qt->ResultSetID = duplicateAny(resultSet);
 
-  qt->Term = NULL;
+    qt->Term = NULL;
 
-  return(qt);
+    return (qt);
 }
 
 /*----------------------------------------------------------------------*/
 
-query_term*
-makeOperatorTerm(char* operatorCode)
+query_term *makeOperatorTerm(char *operatorCode)
 {
-  query_term* qt = (query_term*)s_malloc((size_t)sizeof(query_term));
+    query_term *qt = (query_term *) s_malloc((size_t) sizeof(query_term));
 
-  qt->TermType = TT_Operator;
+    qt->TermType = TT_Operator;
 
-  strncpy(qt->Operator,operatorCode,OPERATOR_SIZE);
+    strncpy(qt->Operator, operatorCode, OPERATOR_SIZE);
 
-  qt->Term = NULL;
-  qt->ResultSetID = NULL;
+    qt->Term = NULL;
+    qt->ResultSetID = NULL;
 
-  return(qt);
+    return (qt);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-freeTerm(void* param)
+void freeTerm(void *param)
 {
-  query_term* qt = (query_term*)param;
-  switch (qt->TermType)
-    { case TT_Attribute:
+    query_term *qt = (query_term *) param;
+
+    switch (qt->TermType) {
+    case TT_Attribute:
 	freeAny(qt->Term);
 	break;
-      case TT_ResultSetID:
+    case TT_ResultSetID:
 	freeAny(qt->ResultSetID);
 	break;
-      case TT_Operator:
+    case TT_Operator:
 	/* do nothing */
 	break;
-      default:
+    default:
 	panic("Implementation error: Unknown term type %ld",
 	      qt->TermType);
 	break;
-      }
-  s_free(qt);
+    }
+    s_free(qt);
 }
 
 /*----------------------------------------------------------------------*/
@@ -1862,128 +1905,125 @@ freeTerm(void* param)
 #define ATTRIBUTE_LIST_SIZE	ATTRIBUTE_SIZE * 6
 #define AT_DELIMITER	" "
 
-char*
-writeQueryTerm(query_term* qt, char* buffer, long* len)
-{
-  char* buf = buffer;
-  char attributes[ATTRIBUTE_LIST_SIZE];
-
-  switch (qt->TermType)
-    { case TT_Attribute:
-	strncpy(attributes,qt->Use,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,AT_DELIMITER,sizeof(AT_DELIMITER) + 1,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,qt->Relation,ATTRIBUTE_SIZE,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,AT_DELIMITER,sizeof(AT_DELIMITER) + 1,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,qt->Position,ATTRIBUTE_SIZE,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,AT_DELIMITER,sizeof(AT_DELIMITER) + 1,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,qt->Structure,ATTRIBUTE_SIZE,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,AT_DELIMITER,sizeof(AT_DELIMITER) + 1,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,qt->Truncation,ATTRIBUTE_SIZE,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,AT_DELIMITER,sizeof(AT_DELIMITER) + 1,ATTRIBUTE_LIST_SIZE);
-	s_strncat(attributes,qt->Completeness,ATTRIBUTE_SIZE,ATTRIBUTE_LIST_SIZE);
-	buf = writeString(attributes,DT_AttributeList,buf,len);
-	buf = writeAny(qt->Term,DT_Term,buf,len);
+char *writeQueryTerm(query_term *qt, char *buffer, long *len)
+{
+    char *buf = buffer;
+    char attributes[ATTRIBUTE_LIST_SIZE];
+
+    switch (qt->TermType) {
+    case TT_Attribute:
+	strncpy(attributes, qt->Use, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, AT_DELIMITER, sizeof(AT_DELIMITER) + 1, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, qt->Relation, ATTRIBUTE_SIZE, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, AT_DELIMITER, sizeof(AT_DELIMITER) + 1, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, qt->Position, ATTRIBUTE_SIZE, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, AT_DELIMITER, sizeof(AT_DELIMITER) + 1, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, qt->Structure, ATTRIBUTE_SIZE, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, AT_DELIMITER, sizeof(AT_DELIMITER) + 1, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, qt->Truncation, ATTRIBUTE_SIZE, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, AT_DELIMITER, sizeof(AT_DELIMITER) + 1, ATTRIBUTE_LIST_SIZE);
+	s_strncat(attributes, qt->Completeness, ATTRIBUTE_SIZE, ATTRIBUTE_LIST_SIZE);
+	buf = writeString(attributes, DT_AttributeList, buf, len);
+	buf = writeAny(qt->Term, DT_Term, buf, len);
 	break;
-      case TT_ResultSetID:
-	buf = writeAny(qt->ResultSetID,DT_ResultSetID,buf,len);
+    case TT_ResultSetID:
+	buf = writeAny(qt->ResultSetID, DT_ResultSetID, buf, len);
 	break;
-      case TT_Operator:
-	buf = writeString(qt->Operator,DT_Operator,buf,len);
+    case TT_Operator:
+	buf = writeString(qt->Operator, DT_Operator, buf, len);
 	break;
-      default:
+    default:
 	panic("Implementation error: Unknown term type %ld",
 	      qt->TermType);
 	break;
-      }
+    }
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-readQueryTerm(query_term** qt, char* buffer)
+char *readQueryTerm(query_term **qt, char *buffer)
 {
-  char* buf = buffer;
-  char  *attributeList = NULL;
-  char* operator = NULL;
-  any*  term;
-  char* use = NULL;
-  char* relation = NULL;
-  char* position = NULL;
-  char* structure = NULL;
-  char* truncation = NULL;
-  char* completeness;
-  any*	resultSetID = NULL;
-  data_tag tag;
-
+    char *buf = buffer;
+    char *attributeList = NULL;
+    char *operator = NULL;
+    any *term;
+    char *use = NULL;
+    char *relation = NULL;
+    char *position = NULL;
+    char *structure = NULL;
+    char *truncation = NULL;
+    char *completeness;
+    any *resultSetID = NULL;
+    data_tag tag;
 
-  tag = peekTag(buffer);
+    tag = peekTag(buffer);
 
-  switch(tag)
-    { case DT_AttributeList:
-	buf = readString(&attributeList,buf);
-	buf = readAny(&term,buf);
-	use = strtok(attributeList,AT_DELIMITER);
-	relation = strtok(NULL,AT_DELIMITER);
-	position = strtok(NULL,AT_DELIMITER);
-	structure = strtok(NULL,AT_DELIMITER);
-	truncation = strtok(NULL,AT_DELIMITER);
-	completeness = strtok(NULL,AT_DELIMITER);
-	*qt = makeAttributeTerm(use,relation,position,structure,
-				truncation,completeness,term);
+    switch (tag) {
+    case DT_AttributeList:
+	buf = readString(&attributeList, buf);
+	buf = readAny(&term, buf);
+	use = strtok(attributeList, AT_DELIMITER);
+	relation = strtok(NULL, AT_DELIMITER);
+	position = strtok(NULL, AT_DELIMITER);
+	structure = strtok(NULL, AT_DELIMITER);
+	truncation = strtok(NULL, AT_DELIMITER);
+	completeness = strtok(NULL, AT_DELIMITER);
+	*qt = makeAttributeTerm(use, relation, position, structure,
+				truncation, completeness, term);
 	s_free(attributeList);
 	freeAny(term);
 	break;
-      case DT_ResultSetID:
-	buf = readAny(&resultSetID,buf);
+    case DT_ResultSetID:
+	buf = readAny(&resultSetID, buf);
 	*qt = makeResultSetTerm(resultSetID);
 	freeAny(resultSetID);
 	break;
-      case DT_Operator:
-	buf = readString(&operator,buf);
+    case DT_Operator:
+	buf = readString(&operator, buf);
 	*qt = makeOperatorTerm(operator);
 	s_free(operator);
 	break;
-      default:
+    default:
 	REPORT_READ_ERROR(buf);
 	break;
-      }
+    }
 
-  return(buf);
+    return (buf);
 }
 
 /*----------------------------------------------------------------------*/
 
-static unsigned long getQueryTermSize (query_term* qt);
+static unsigned long getQueryTermSize(query_term *qt);
 
-static unsigned long
-getQueryTermSize(query_term* qt)
+static unsigned long getQueryTermSize(query_term *qt)
 /* figure out how many bytes it will take to write this query */
 {
-  unsigned long size = 0;
-  static char attributes[] = "11 22 33 44 55 66"; /* we just need this to
-						     calculate its written
-						     size */
+    unsigned long size = 0;
+    static char attributes[] = "11 22 33 44 55 66";	/* we just need this to
+
+							   calculate its written
+							   size */
 
-  switch (qt->TermType)
-    { case TT_Attribute:
-	size = writtenStringSize(DT_AttributeList,attributes);
-	size += writtenAnySize(DT_Term,qt->Term);
+    switch (qt->TermType) {
+    case TT_Attribute:
+	size = writtenStringSize(DT_AttributeList, attributes);
+	size += writtenAnySize(DT_Term, qt->Term);
 	break;
-      case TT_ResultSetID:
-	size = writtenAnySize(DT_ResultSetID,qt->ResultSetID);
+    case TT_ResultSetID:
+	size = writtenAnySize(DT_ResultSetID, qt->ResultSetID);
 	break;
-      case TT_Operator:
-	size = writtenStringSize(DT_Operator,qt->Operator);
+    case TT_Operator:
+	size = writtenStringSize(DT_Operator, qt->Operator);
 	break;
-      default:
+    default:
 	panic("Implementation error: Unknown term type %ld",
 	      qt->TermType);
 	break;
-      }
+    }
 
-  return(size);
+    return (size);
 }
 
 /*----------------------------------------------------------------------*/
@@ -1992,84 +2032,81 @@ getQueryTermSize(query_term* qt)
    transmission, a query is written into an any which is sent as
    the user information field. */
 
-any*
-writeQuery(query_term** terms)
+any *writeQuery(query_term **terms)
 {
-  any* info = NULL;
-  char* writePos = NULL;
-  char* data = NULL;
-  unsigned long size = 0;
-  long remaining = 0;
-  long i;
-  query_term* qt = NULL;
+    any *info = NULL;
+    char *writePos = NULL;
+    char *data = NULL;
+    unsigned long size = 0;
+    long remaining = 0;
+    long i;
+    query_term *qt = NULL;
 
-  if (terms == NULL)
-    return(NULL);
+    if (terms == NULL)
+	return (NULL);
 
-  /* calculate the size of write buffer */
-  for (i = 0,qt = terms[i]; qt != NULL; qt = terms[++i])
-    size += getQueryTermSize(qt);
+    /* calculate the size of write buffer */
+    for (i = 0, qt = terms[i]; qt != NULL; qt = terms[++i])
+	size += getQueryTermSize(qt);
 
-  data = (char*)s_malloc((size_t)size);
+    data = (char *) s_malloc((size_t) size);
 
-  /* write the terms */
-  writePos = data;
-  remaining = size;
-  for (i = 0,qt = terms[i]; qt != NULL; qt = terms[++i])
-    writePos = writeQueryTerm(qt,writePos,&remaining);
+    /* write the terms */
+    writePos = data;
+    remaining = size;
+    for (i = 0, qt = terms[i]; qt != NULL; qt = terms[++i])
+	writePos = writeQueryTerm(qt, writePos, &remaining);
 
-  info = makeAny(size,data);
+    info = makeAny(size, data);
 
-  return(info);
+    return (info);
 }
 
 /*----------------------------------------------------------------------*/
 
-query_term**
-readQuery(any *info)
+query_term **readQuery(any *info)
 {
-  char* readPos = info->bytes;
-  query_term** terms = NULL;
-  query_term* qt = NULL;
-  long numTerms = 0L;
-  char tmp[100];
+    char *readPos = info->bytes;
+    query_term **terms = NULL;
+    query_term *qt = NULL;
+    long numTerms = 0L;
+    char tmp[100];
 
-  sprintf(tmp,"readquery: bytes: %ld",info->size);
-  log_write(tmp);
+    sprintf(tmp, "readquery: bytes: %ld", info->size);
+    log_write(tmp);
 
-  while (readPos < info->bytes + info->size)
-    { readPos = readQueryTerm(&qt,readPos);
+    while (readPos < info->bytes + info->size) {
+	readPos = readQueryTerm(&qt, readPos);
 
-      if (terms == NULL)
-	{ terms = (query_term**)s_malloc((size_t)(sizeof(query_term*)*2));
+	if (terms == NULL) {
+	    terms = (query_term **) s_malloc((size_t) (sizeof(query_term *) * 2));
+	} else {
+	    terms =
+		(query_term **) s_realloc((char *) terms,
+					  (size_t) (sizeof(query_term *) *
+						      (numTerms + 2)));
 	}
-      else
-	{ terms =
-	    (query_term**)s_realloc((char*)terms,
-				    (size_t)(sizeof(query_term*)*(numTerms+2)));
-	  }
-      if (qt == NULL)
-	log_write("qt = null");
-      terms[numTerms++] = qt;
-      terms[numTerms] = NULL;
+	if (qt == NULL)
+	    log_write("qt = null");
+	terms[numTerms++] = qt;
+	terms[numTerms] = NULL;
     }
 
-  return(terms);
+    return (terms);
 }
 
 /*----------------------------------------------------------------------*/
 
-
 /*
-**	Routines originally from panic.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from panic.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* WIDE AREA INFORMATION SERVER SOFTWARE:
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   Morris@think.com
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * Morris@think.com
+ */
 
 /* panic is an error system interface.  On the Mac, it will pop
  * up a little window to explain the problem.
@@ -2078,151 +2115,144 @@ readQuery(any *info)
 
 /*----------------------------------------------------------------------*/
 
-static void exitAction (long error);
+static void exitAction(long error);
 
-static void
-exitAction(long error GCC_UNUSED)
+static void exitAction(long error GCC_UNUSED)
 {
-  long i;
-  for (i = 0; i < 100000; i++)
-    ;
-  exit(0);
+    long i;
+
+    for (i = 0; i < 100000; i++) ;
+    exit(0);
 }
 
 /*----------------------------------------------------------------------*/
 
 #define PANIC_HEADER "Fatal Error:  "
 
-void
-panic(char *format, ...)
+void panic(char *format,...)
 {
-  va_list ap;			/* the variable arguments */
+    va_list ap;			/* the variable arguments */
 
-  fprintf(stderr,PANIC_HEADER);
-  LYva_start(ap, format);	/* init ap */
-  vfprintf(stderr,format,ap);	/* print the contents */
-  va_end(ap);			/* free ap */
-  fflush(stderr);
+    fprintf(stderr, PANIC_HEADER);
+    LYva_start(ap, format);	/* init ap */
+    vfprintf(stderr, format, ap);	/* print the contents */
+    va_end(ap);			/* free ap */
+    fflush(stderr);
 
-  exitAction(0);
+    exitAction(0);
 }
 
 /*----------------------------------------------------------------------*/
 
-
 /*
-**	Routines originally from cutil.c -- FM
-**
-**----------------------------------------------------------------------*/
+ *	Routines originally from cutil.c -- FM
+ *
+ *----------------------------------------------------------------------*/
 /* Wide AREA INFORMATION SERVER SOFTWARE
-   No guarantees or restrictions.  See the readme file for the full standard
-   disclaimer.
-
-   3.26.90	Harry Morris, morris@think.com
-   4.11.90  HWM - generalized conditional includes (see c-dialect.h)
-*/
+ * No guarantees or restrictions.  See the readme file for the full standard
+ * disclaimer.
+ *
+ * 3.26.90	Harry Morris, morris@think.com
+ * 4.11.90  HWM - generalized conditional includes (see c-dialect.h)
+ */
 
 /*----------------------------------------------------------------------*/
 
-void
-fs_checkPtr(void* ptr)
+void fs_checkPtr(void *ptr)
 /* If the ptr is NULL, give an error */
 {
-  if (ptr == NULL)
-    panic("checkPtr found a NULL pointer");
+    if (ptr == NULL)
+	panic("checkPtr found a NULL pointer");
 }
 
 /*----------------------------------------------------------------------*/
 
-void*
-fs_malloc(size_t size)
+void *fs_malloc(size_t size)
 /* does safety checks and optional accounting */
 {
-  register void* ptr = NULL;
+    register void *ptr = NULL;
 
-  ptr = (void*)calloc((size_t)size,(size_t)1);
-  s_checkPtr(ptr);
+    ptr = (void *) calloc((size_t) size, (size_t) 1);
+    s_checkPtr(ptr);
 
-  return(ptr);
+    return (ptr);
 }
 
 /*----------------------------------------------------------------------*/
 
-void*
-fs_realloc(void* ptr, size_t size)
+void *fs_realloc(void *ptr, size_t size)
 /* does safety checks and optional accounting
    note - we don't know how big ptr's memory is, so we can't ensure
    that any new memory allocated is NULLed!
  */
 {
-  register void* nptr = NULL;
+    register void *nptr = NULL;
 
-  if (ptr == NULL)		/* this is really a malloc */
-    return(s_malloc(size));
+    if (ptr == NULL)		/* this is really a malloc */
+	return (s_malloc(size));
 
-  nptr = (void*)realloc(ptr,size);
-  s_checkPtr(ptr);
+    nptr = (void *) realloc(ptr, size);
+    s_checkPtr(ptr);
 
-  return(nptr);
+    return (nptr);
 }
 
 /*----------------------------------------------------------------------*/
 
-void
-fs_free(void* ptr)
+void fs_free(void *ptr)
 /* does safety checks and optional accounting */
 {
-  if (ptr != NULL)		/* some non-ansi compilers/os's cant handle freeing null */
+    if (ptr != NULL)		/* some non-ansi compilers/os's cant handle freeing null */
     {				/* if we knew the size of this block of memory, we could clear it - oh well */
-      free(ptr);
-      ptr = NULL;
+	free(ptr);
+	ptr = NULL;
     }
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-s_strdup(char* s)
+char *s_strdup(char *s)
 
 /* return a copy of s.  This is identical to the standard library routine
    strdup(), except that it is safe.  If s == NULL or malloc fails,
    appropriate action is taken.
  */
 {
-  unsigned long len;
-  char* copy = NULL;
+    unsigned long len;
+    char *copy = NULL;
+
+    if (s == NULL)		/* saftey check to postpone stupid errors */
+	return (NULL);
 
-  if (s == NULL)		/* saftey check to postpone stupid errors */
-    return(NULL);
+    len = strlen(s);		/* length of string - terminator */
+    copy = (char *) s_malloc((size_t) (sizeof(char) * (len + 1)));
 
-  len = strlen(s);		/* length of string - terminator */
-  copy = (char*)s_malloc((size_t)(sizeof(char)*(len + 1)));
-  strncpy(copy,s,len + 1);
-  return(copy);
+    strncpy(copy, s, len + 1);
+    return (copy);
 }
 
 /*----------------------------------------------------------------------*/
 
-char*
-fs_strncat(char* dst, char* src, size_t maxToAdd, size_t maxTotal)
+char *fs_strncat(char *dst, char *src, size_t maxToAdd, size_t maxTotal)
 
 /* like strncat, except the fourth argument limits the maximum total
    length of the resulting string
  */
 {
-  size_t dstSize = strlen(dst);
-  size_t srcSize = strlen(src);
-
-  if (dstSize + srcSize < maxTotal) /* use regular old strncat */
-    return(strncat(dst,src,maxToAdd));
-  else
-    { size_t truncateTo = maxTotal - dstSize - 1;
-      char   saveChar = src[truncateTo];
-      char*  result = NULL;
-      src[truncateTo] = '\0';
-      result = strncat(dst,src,maxToAdd);
-      src[truncateTo] = saveChar;
-      return(result);
+    size_t dstSize = strlen(dst);
+    size_t srcSize = strlen(src);
+
+    if (dstSize + srcSize < maxTotal)	/* use regular old strncat */
+	return (strncat(dst, src, maxToAdd));
+    else {
+	size_t truncateTo = maxTotal - dstSize - 1;
+	char saveChar = src[truncateTo];
+	char *result = NULL;
+
+	src[truncateTo] = '\0';
+	result = strncat(dst, src, maxToAdd);
+	src[truncateTo] = saveChar;
+	return (result);
     }
 }
 
@@ -2230,20 +2260,22 @@ fs_strncat(char* dst, char* src, size_t maxToAdd, size_t maxTotal)
 
 char char_downcase(unsigned long long_ch)
 {
-  unsigned char ch = long_ch & 0xFF; /* just want one byte */
-  /* when ansi is the way of the world, this can be tolower */
-  return (((ch >= 'A') && (ch <= 'Z')) ? (ch + 'a' -'A') : ch);
+    unsigned char ch = long_ch & 0xFF;	/* just want one byte */
+
+    /* when ansi is the way of the world, this can be tolower */
+    return (((ch >= 'A') && (ch <= 'Z')) ? (ch + 'a' - 'A') : ch);
 }
 
 char *string_downcase(char *word)
 {
-  long i = 0;
-  while(word[i] != '\0'){
-    word[i] = char_downcase((unsigned long)word[i]);
-    i++;
-  }
-  return(word);
+    long i = 0;
+
+    while (word[i] != '\0') {
+	word[i] = char_downcase((unsigned long) word[i]);
+	i++;
+    }
+    return (word);
 }
 
 /*----------------------------------------------------------------------*/
-
+#endif /* VMS */