Fix ESpec handling
[yaz-moved-to-github.git] / retrieval / d1_write.c
index cba4ae9..3114e40 100644 (file)
@@ -3,7 +3,7 @@
  * See the file LICENSE for details.
  * Sebastian Hammer, Adam Dickmeiss
  *
- * $Id: d1_write.c,v 1.16 2002-07-29 20:04:08 adam Exp $
+ * $Id: d1_write.c,v 1.18 2002-09-24 13:58:13 adam Exp $
  */
 
 #include <string.h>
@@ -42,17 +42,18 @@ static void wrbuf_write_cdata(WRBUF b, const char *msg, int len)
         case '"':
             wrbuf_puts (b, "&quot;");
             break;
+        case '\'':
+            wrbuf_puts (b, "&apos;");
+            break;
         case '>':
             wrbuf_puts (b, "&gt;");
             break;
         case '<':
             wrbuf_puts (b, "&lt;");
             break;
-#if 0
         case '&':
             wrbuf_puts (b, "&amp;");
             break;
-#endif
         default:
             wrbuf_putc(b, msg[i]);
         }
@@ -99,7 +100,7 @@ static int nodetoidsgml(data1_node *n, int select, WRBUF b, int col,
         }
         else if (c->which == DATA1N_tag)
        {
-           if (select && c->u.tag.node_selected)
+           if (select && !c->u.tag.node_selected)
                continue;
             tag = c->u.tag.tag;
            if (!data1_matchstr(tag, "wellknown")) /* skip wellknown */