Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/qhull/src/libqhull/userprintf.c')
-rw-r--r--src/qhull/src/libqhull/userprintf.c66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/qhull/src/libqhull/userprintf.c b/src/qhull/src/libqhull/userprintf.c
new file mode 100644
index 000000000..190d7cd79
--- /dev/null
+++ b/src/qhull/src/libqhull/userprintf.c
@@ -0,0 +1,66 @@
+/*<html><pre> -<a href="qh-user.htm"
+ >-------------------------------</a><a name="TOP">-</a>
+
+ userprintf.c
+ qh_fprintf()
+
+ see README.txt see COPYING.txt for copyright information.
+
+ If you recompile and load this file, then userprintf.o will not be loaded
+ from qhull.a or qhull.lib
+
+ See libqhull.h for data structures, macros, and user-callable functions.
+ See user.c for qhull-related, redefinable functions
+ see user.h for user-definable constants
+ See usermem.c for qh_exit(), qh_free(), and qh_malloc()
+ see Qhull.cpp and RboxPoints.cpp for examples.
+
+ Please report any errors that you fix to qhull@qhull.org
+*/
+
+#include "libqhull.h"
+#include "mem.h"
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/*-<a href="qh-user.htm#TOC"
+ >-------------------------------</a><a name="qh_fprintf">-</a>
+
+ qh_fprintf(fp, msgcode, format, list of args )
+ print arguments to *fp according to format
+ Use qh_fprintf_rbox() for rboxlib.c
+
+ notes:
+ same as fprintf()
+ fgets() is not trapped like fprintf()
+ exit qh_fprintf via qh_errexit()
+ may be called for errors in qh_initstatistics and qh_meminit
+*/
+
+void qh_fprintf(FILE *fp, int msgcode, const char *fmt, ... ) {
+ va_list args;
+
+ if (!fp) {
+ /* could use qhmem.ferr, but probably better to be cautious */
+ qh_fprintf_stderr(6232, "Qhull internal error (userprintf.c): fp is 0. Wrong qh_fprintf called.\n");
+ qh_errexit(6232, NULL, NULL);
+ }
+ va_start(args, fmt);
+#if qh_QHpointer
+ if (qh_qh && qh ANNOTATEoutput) {
+#else
+ if (qh ANNOTATEoutput) {
+#endif
+ fprintf(fp, "[QH%.4d]", msgcode);
+ }else if (msgcode >= MSG_ERROR && msgcode < MSG_STDERR ) {
+ fprintf(fp, "QH%.4d ", msgcode);
+ }
+ vfprintf(fp, fmt, args);
+ va_end(args);
+
+ /* Place debugging traps here. Use with option 'Tn' */
+
+} /* qh_fprintf */
+