Support for YAZ in standard located directories, such as /usr/local/..
[idzebra-moved-to-github.git] / dict / insert.c
index 70a18b4..d43572c 100644 (file)
@@ -4,7 +4,13 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: insert.c,v $
- * Revision 1.10  1994-10-05 12:16:48  adam
+ * Revision 1.12  1995-09-06 10:34:44  adam
+ * Memcpy in clean_page edited to satisfy checkergcc.
+ *
+ * Revision 1.11  1995/09/04  12:33:31  adam
+ * Various cleanup. YAZ util used instead.
+ *
+ * Revision 1.10  1994/10/05  12:16:48  adam
  * Pagesize is a resource now.
  *
  * Revision 1.9  1994/09/16  15:39:13  adam
@@ -159,7 +165,7 @@ static int split_page (Dict dict, Dict_ptr ptr, void *p)
 }
 
 static void clean_page (Dict dict, Dict_ptr ptr, void *p, Dict_char *out,
-               Dict_ptr subptr, char *userinfo)             
+                        Dict_ptr subptr, char *userinfo)             
 {
     char *np = xmalloc (dict->head.page_size);
     int i, slen, no = 0;
@@ -223,8 +229,17 @@ static void clean_page (Dict dict, Dict_ptr ptr, void *p, Dict_char *out,
         info2 += slen;
         ++no;
     }
+#if 1
+    memcpy ((char*)p+DICT_infoffset, 
+            (char*)np+DICT_infoffset,
+            info2 - ((char*)np+DICT_infoffset));
+    memcpy ((char*)p + ((char*)indxp2 - (char*)np),
+            indxp2,
+            ((char*) np+DICT_pagesize(dict)) - (char*)indxp2);
+#else
     memcpy ((char*)p+DICT_infoffset, (char*)np+DICT_infoffset,
             DICT_pagesize(dict)-DICT_infoffset);
+#endif
     DICT_size(p) = info2 - np;
     DICT_type(p) = 0;
     DICT_nodir(p) = no;
@@ -346,7 +361,7 @@ static int dict_ins (Dict dict, const Dict_char *str,
                         }
                         if (split_page (dict, ptr, p)) 
                         {
-                            log (LOG_FATAL, "Unable to split page %d\n", ptr);
+                            logf (LOG_FATAL, "Unable to split page %d\n", ptr);
                             abort ();
                         }
                         return dict_ins (dict, str-1, ptr, userlen, userinfo);