https://github.com/liblouis/liblouisxml/pull/4

commit 845b62a78c3fde3592257a4e92a87873a85ff15c
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Mar 9 22:30:23 2024 +0100

    Add missing function prototypes

diff --git a/liblouisxml/louisxml.h b/liblouisxml/louisxml.h
index bae328d..d76a9b4 100644
--- a/liblouisxml/louisxml.h
+++ b/liblouisxml/louisxml.h
@@ -288,8 +288,15 @@ int insert_utf8 (unsigned char *intext);
 int insert_utf16 (widechar * intext, int length);
 int insert_translation (char *table);
 int write_paragraph (sem_act action);
+void widestrcpy(widechar* to, const widechar* from);
+void widecharcpy(widechar* to, const widechar* from, int length);
+void unsignedcharcpy(char* to, const char* from, int length);
 int start_document (void);
 int end_document (void);
+int writeBuffer(int from, int skip);
+int savePointers(void);
+int restorePointers(void);
+int do_pagenum (void);
 int transcribe_text_string (void);
 int transcribe_text_file (void);
 int back_translate_file (void);
diff --git a/liblouisxml/makeContents.c b/liblouisxml/makeContents.c
index 0ddbb19..5d76106 100644
--- a/liblouisxml/makeContents.c
+++ b/liblouisxml/makeContents.c
@@ -63,9 +63,9 @@ initialize_contents (void)
 {
 
   saved_braillePageNumberFormat = ud->brl_page_num_format;
-  widestrcpy(saved_printPageNumber, ud->print_page_number, -1);
-  widestrcpy(saved_printPageNumberFirst, ud->print_page_number_first, -1);
-  widestrcpy(saved_printPageNumberLast, ud->print_page_number_last, -1);
+  widestrcpy(saved_printPageNumber, ud->print_page_number);
+  widestrcpy(saved_printPageNumberFirst, ud->print_page_number_first);
+  widestrcpy(saved_printPageNumberLast, ud->print_page_number_last);
   ud->after_contents = 1;
   saved_udContents = ud->contents;
   saved_linesOnPage = ud->lines_on_page;
@@ -191,9 +191,9 @@ make_contents (void)
       styleSpec = &ud->style_stack[ud->style_top];
       styleSpec->curBrlNumFormat = saved_braillePageNumberFormat;
       ud->brl_page_num_format = saved_braillePageNumberFormat;
-      widestrcpy(ud->print_page_number, saved_printPageNumber, -1);
-      widestrcpy(ud->print_page_number_first, saved_printPageNumberFirst, -1);
-      widestrcpy(ud->print_page_number_last, saved_printPageNumberLast, -1);
+      widestrcpy(ud->print_page_number, saved_printPageNumber);
+      widestrcpy(ud->print_page_number_first, saved_printPageNumberFirst);
+      widestrcpy(ud->print_page_number_last, saved_printPageNumberLast);
       do_newpage ();
       ud->contents = 2;
       currentHeading = firstHeading;
diff --git a/liblouisxml/semantics.c b/liblouisxml/semantics.c
index af4b949..0539ebd 100644
--- a/liblouisxml/semantics.c
+++ b/liblouisxml/semantics.c
@@ -33,6 +33,7 @@
 #include <string.h>
 #include "louisxml.h"
 #include <libxml/xpath.h>
+#include <libxml/xpathInternals.h>
 #include "sem_names.h"
 
 typedef struct
