Pull present status from presresp.
[egate.git] / zlayer / zaccess.c
index 83bc8b4..d0fd1b4 100644 (file)
@@ -2,7 +2,13 @@
  * Europagate, 1995
  *
  * $Log: zaccess.c,v $
- * Revision 1.10  1995/02/20 18:19:30  quinn
+ * Revision 1.12  1995/02/20 20:35:37  quinn
+ * Pull present status from presresp.
+ *
+ * Revision 1.11  1995/02/20  18:58:05  quinn
+ * Added hack for record in ANY
+ *
+ * Revision 1.10  1995/02/20  18:19:30  quinn
  * More relaxed about record types.
  *
  * Revision 1.9  1995/02/17  15:17:51  quinn
@@ -350,8 +356,14 @@ void get_responserecords(zass_record ***p, DATA_DIR *rec)
        align = External_GetEncodingAligned(ext);
        if (!align)
        {
-           gw_log(GW_LOG_WARN, ZASS_TYPE, "AAAARRRGH!! Enough of these log-messages!!!");
-           return;
+           gw_log(GW_LOG_WARN, ZASS_TYPE, "Record wasn't octet-aligned");
+           align = External_GetEncodingSingle(ext);
+           if (!align)
+           {
+               gw_log(GW_LOG_WARN, ZASS_TYPE, "Record wasn't ANY");
+               return;
+           }
+           align = align->ptr.child;
        }
        if (!((**p)->record = malloc(align->count + 1)))
        {
@@ -427,6 +439,7 @@ const struct zass_presentent *zass_present(ZASS a, char *resname, int start,
        }
        gw_log(ZASS_DEBUG, ZASS_TYPE, "Got presentresponse");
        r.num += PresentResponse_GetNumberOfRecordsReturned(pdu);
+       r.presentstatus = PresentResponse_GetPresentStatus(pdu);
        if (r.num == 0)
        {
            gw_log(GW_LOG_WARN, ZASS_TYPE, "Got 0 records from target.");