\doxysection{debug.\+c}
\hypertarget{debug_8c_source}{}\label{debug_8c_source}\index{workspace/post-\/scarcity/src/debug.c@{workspace/post-\/scarcity/src/debug.c}}
\mbox{\hyperlink{debug_8c}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00001}00001\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00002}00002\ \textcolor{comment}{\ *\ debug.c}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00003}00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00004}00004\ \textcolor{comment}{\ *\ Better\ debug\ log\ messages.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00005}00005\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00006}00006\ \textcolor{comment}{\ *\ (c)\ 2017\ Simon\ Brooke\ <simon@journeyman.cc>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00007}00007\ \textcolor{comment}{\ *\ Licensed\ under\ GPL\ version\ 2.0,\ or,\ at\ your\ option,\ any\ later\ version.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00008}00008\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00009}00009\ }
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00010}00010\ \textcolor{preprocessor}{\#include\ <ctype.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00011}00011\ \textcolor{preprocessor}{\#include\ <stdarg.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00012}00012\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00013}00013\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00014}00014\ \textcolor{preprocessor}{\#include\ <string.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00015}00015\ \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00016}00016\ \textcolor{comment}{\ *\ wide\ characters}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00017}00017\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00018}00018\ \textcolor{preprocessor}{\#include\ <wchar.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00019}00019\ \textcolor{preprocessor}{\#include\ <wctype.h>}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00020}00020\ }
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00021}00021\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{consspaceobject_8h}{memory/consspaceobject.h}}"{}}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00022}00022\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{debug_8h}{debug.h}}"{}}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00023}00023\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{dump_8h}{memory/dump.h}}"{}}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00024}00024\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{io_8h}{io/io.h}}"{}}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00025}00025\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{print_8h}{io/print.h}}"{}}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00026}00026\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00027}00027\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00028}00028\ \textcolor{comment}{\ *\ @brief\ the\ controlling\ flags\ for\ \`{}debug\_print`;\ set\ in\ \`{}init.c`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00029}00029\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00030}00030\ \textcolor{comment}{\ *\ Interpreted\ as\ a\ set\ o\ binary\ flags.\ The\ values\ are\ controlled\ by\ macros\ }}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00031}00031\ \textcolor{comment}{\ *\ with\ names\ 'DEBUG\_[A\_Z]*'\ in\ \`{}debug.h`,\ q.v.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00032}00032\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00033}\mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{00033}}\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ =\ 0;}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00034}00034\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00035}00035\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00036}00036\ \textcolor{comment}{\ *\ @brief\ print\ this\ debug\ \`{}message`\ to\ stderr,\ if\ \`{}verbosity`\ matches\ \`{}level`.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00037}00037\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00038}00038\ \textcolor{comment}{\ *\ \`{}verbosity`\ is\ a\ set\ of\ flags,\ see\ debug\_print.h;\ so\ you\ can}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00039}00039\ \textcolor{comment}{\ *\ turn\ debugging\ on\ for\ only\ one\ part\ of\ the\ system.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00040}00040\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00041}\mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{00041}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_ad55e4f61e076944d705d98b5314c5181}{debug\_print}}(\ \textcolor{keywordtype}{wchar\_t}\ *message,\ \textcolor{keywordtype}{int}\ level\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00042}00042\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00043}00043\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00044}00044\ \ \ \ \ \ \ \ \ fwide(\ stderr,\ 1\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00045}00045\ \ \ \ \ \ \ \ \ fputws(\ message,\ stderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00046}00046\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00047}00047\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00048}00048\ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00049}00049\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00050}00050\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00051}00051\ \textcolor{comment}{\ *\ @brief\ print\ a\ 128\ bit\ integer\ value\ to\ stderr,\ if\ \`{}verbosity`\ matches\ \`{}level`.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00052}00052\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00053}00053\ \textcolor{comment}{\ *\ \`{}verbosity`\ is\ a\ set\ of\ flags,\ see\ debug\_print.h;\ so\ you\ can}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00054}00054\ \textcolor{comment}{\ *\ turn\ debugging\ on\ for\ only\ one\ part\ of\ the\ system.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00055}00055\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00056}00056\ \textcolor{comment}{\ *\ stolen\ from\ https://stackoverflow.com/questions/11656241/how-\/to-\/print-\/uint128-\/t-\/number-\/using-\/gcc}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00057}00057\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00058}\mbox{\hyperlink{debug_8c_a3f7cae7c87ec9a0a47c3eebb37f7d538}{00058}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_a3f7cae7c87ec9a0a47c3eebb37f7d538}{debug\_print\_128bit}}(\ \_\_int128\_t\ n,\ \textcolor{keywordtype}{int}\ level\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00059}00059\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00060}00060\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00061}00061\ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ n\ ==\ 0\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00062}00062\ \ \ \ \ \ \ \ \ \ \ \ \ fwprintf(\ stderr,\ L\textcolor{stringliteral}{"{}0"{}}\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00063}00063\ \ \ \ \ \ \ \ \ \}\ \textcolor{keywordflow}{else}\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00064}00064\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ str[40]\ =\ \{\ 0\ \};\ \textcolor{comment}{//\ log10(1\ <<\ 128)\ +\ '\(\backslash\)0'}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00065}00065\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *s\ =\ str\ +\ \textcolor{keyword}{sizeof}(\ str\ )\ -\/\ 1;\ \ \textcolor{comment}{//\ start\ at\ the\ end}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00066}00066\ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{while}\ (\ n\ !=\ 0\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00067}00067\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{if}\ (\ s\ ==\ str\ )}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00068}00068\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordflow}{return};\ \ \ \ \ \textcolor{comment}{//\ never\ happens}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00069}00069\ }
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00070}00070\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ *-\/-\/s\ =\ \textcolor{stringliteral}{"{}0123456789"{}}[n\ \%\ 10];\ \ \textcolor{comment}{//\ save\ last\ digit}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00071}00071\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ n\ /=\ 10;\ \ \ \ \ \ \ \ \textcolor{comment}{//\ drop\ it}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00072}00072\ \ \ \ \ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00073}00073\ \ \ \ \ \ \ \ \ \ \ \ \ fwprintf(\ stderr,\ L\textcolor{stringliteral}{"{}\%s"{}},\ s\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00074}00074\ \ \ \ \ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00075}00075\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00076}00076\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00077}00077\ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00078}00078\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00079}00079\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00080}00080\ \textcolor{comment}{\ *\ @brief\ print\ a\ line\ feed\ to\ stderr,\ if\ \`{}verbosity`\ matches\ \`{}level`.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00081}00081\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00082}00082\ \textcolor{comment}{\ *\ \`{}verbosity`\ is\ a\ set\ of\ flags,\ see\ debug\_print.h;\ so\ you\ can}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00083}00083\ \textcolor{comment}{\ *\ turn\ debugging\ on\ for\ only\ one\ part\ of\ the\ system.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00084}00084\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00085}\mbox{\hyperlink{debug_8c_a9d5aa8671cb579261b2049c09aafa773}{00085}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_a9d5aa8671cb579261b2049c09aafa773}{debug\_println}}(\ \textcolor{keywordtype}{int}\ level\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00086}00086\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00087}00087\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00088}00088\ \ \ \ \ \ \ \ \ fwide(\ stderr,\ 1\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00089}00089\ \ \ \ \ \ \ \ \ fputws(\ L\textcolor{stringliteral}{"{}\(\backslash\)n"{}},\ stderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00090}00090\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00091}00091\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00092}00092\ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00093}00093\ }
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00094}00094\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00095}00095\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00096}00096\ \textcolor{comment}{\ *\ @brief\ \`{}wprintf`\ adapted\ for\ the\ debug\ logging\ system.\ }}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00097}00097\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00098}00098\ \textcolor{comment}{\ *\ Print\ to\ stderr\ only\ if\ \`{}verbosity`\ matches\ \`{}level`.\ All\ other\ arguments}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00099}00099\ \textcolor{comment}{\ *\ as\ for\ \`{}wprintf`.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00100}00100\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00101}\mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{00101}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_aa335b357cde1ba7eb6e8a71955079aab}{debug\_printf}}(\ \textcolor{keywordtype}{int}\ level,\ \textcolor{keywordtype}{wchar\_t}\ *format,\ ...\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00102}00102\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00103}00103\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00104}00104\ \ \ \ \ \ \ \ \ fwide(\ stderr,\ 1\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00105}00105\ \ \ \ \ \ \ \ \ va\_list(\ args\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00106}00106\ \ \ \ \ \ \ \ \ va\_start(\ args,\ format\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00107}00107\ \ \ \ \ \ \ \ \ vfwprintf(\ stderr,\ format,\ args\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00108}00108\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00109}00109\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00110}00110\ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00111}00111\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00112}00112\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00113}00113\ \textcolor{comment}{\ *\ @brief\ print\ the\ object\ indicated\ by\ this\ \`{}pointer`\ to\ stderr,\ if\ \`{}verbosity`}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00114}00114\ \textcolor{comment}{\ *\ matches\ \`{}level`.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00115}00115\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00116}00116\ \textcolor{comment}{\ *\ \`{}verbosity`\ is\ a\ set\ of\ flags,\ see\ debug\_print.h;\ so\ you\ can}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00117}00117\ \textcolor{comment}{\ *\ turn\ debugging\ on\ for\ only\ one\ part\ of\ the\ system.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00118}00118\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00119}\mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{00119}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_ada2d4646201b5827137d0bf053fcac59}{debug\_print\_object}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ pointer,\ \textcolor{keywordtype}{int}\ level\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00120}00120\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00121}00121\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00122}00122\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *ustderr\ =\ \mbox{\hyperlink{io_8c_a94886a863fdd18ea9e5559e4a70a5059}{file\_to\_url\_file}}(\ stderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00123}00123\ \ \ \ \ \ \ \ \ fwide(\ stderr,\ 1\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00124}00124\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{print_8c_ad0e1c7bb094ddb18a30d5141e836991b}{print}}(\ ustderr,\ pointer\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00125}00125\ \ \ \ \ \ \ \ \ free(\ ustderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00126}00126\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00127}00127\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00128}00128\ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00129}00129\ \textcolor{comment}{}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00130}00130\ \textcolor{comment}{/**}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00131}00131\ \textcolor{comment}{\ *\ @brief\ Like\ \`{}dump\_object`,\ q.v.,\ but\ protected\ by\ the\ verbosity\ mechanism.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00132}00132\ \textcolor{comment}{\ *}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00133}00133\ \textcolor{comment}{\ *\ \`{}verbosity`\ is\ a\ set\ of\ flags,\ see\ debug\_print.h;\ so\ you\ can}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00134}00134\ \textcolor{comment}{\ *\ turn\ debugging\ on\ for\ only\ one\ part\ of\ the\ system.}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00135}00135\ \textcolor{comment}{\ */}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00136}\mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{00136}}\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{debug_8c_aa0ffa929ddbce890ce4f81264a211233}{debug\_dump\_object}}(\ \textcolor{keyword}{struct}\ \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\_pointer}}\ pointer,\ \textcolor{keywordtype}{int}\ level\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00137}00137\ \textcolor{preprocessor}{\#ifdef\ DEBUG}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00138}00138\ \ \ \ \ \textcolor{keywordflow}{if}\ (\ level\ \&\ \mbox{\hyperlink{debug_8c_a1bdcfae3209cbd96db35a2ae356fa15e}{verbosity}}\ )\ \{}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00139}00139\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{fopen_8h_structfcurl__data}{URL\_FILE}}\ *ustderr\ =\ \mbox{\hyperlink{io_8c_a94886a863fdd18ea9e5559e4a70a5059}{file\_to\_url\_file}}(\ stderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00140}00140\ \ \ \ \ \ \ \ \ fwide(\ stderr,\ 1\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00141}00141\ \ \ \ \ \ \ \ \ \mbox{\hyperlink{dump_8c_a398fe0724ef6a1badc4b353bbdbc1c57}{dump\_object}}(\ ustderr,\ pointer\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00142}00142\ \ \ \ \ \ \ \ \ free(\ ustderr\ );}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00143}00143\ \ \ \ \ \}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00144}00144\ \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{\Hypertarget{debug_8c_source_l00145}00145\ \}}

\end{DoxyCode}
