sane-project-website/old-archive/1999-08/0317.html

247 wiersze
8.3 KiB
HTML

<!-- received="Fri Aug 27 03:42:19 1999 PDT" -->
<!-- sent="Fri, 27 Aug 1999 12:42:06 +0200" -->
<!-- name="Petter Reinholdtsen" -->
<!-- email="pere@hungry.com" -->
<!-- subject="Re: net problem" -->
<!-- id="199908271042.MAA32580@lee.Cc.Uit.No" -->
<!-- inreplyto="net problem" -->
<title>sane-devel: Re: net problem</title>
<h1>Re: net problem</h1>
<b>Petter Reinholdtsen</b> (<a href="mailto:pere@hungry.com"><i>pere@hungry.com</i></a>)<br>
<i>Fri, 27 Aug 1999 12:42:06 +0200</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#317">[ date ]</a><a href="index.html#317">[ thread ]</a><a href="subject.html#317">[ subject ]</a><a href="author.html#317">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0318.html">Menaka Lashitha Bandara: "Acer Scanners"</a>
<li> <b>Previous message:</b> <a href="0316.html">Tom Martone: "Re: SANE V2"</a>
<li> <b>Maybe in reply to:</b> <a href="0260.html">Wim Taymans: "net problem"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
[Petter Reinholdtsen]<br>
<i>&gt; Maybe changing sanei_debug() to send messages to syslog if stderr is</i><br>
<i>&gt; a socket would be the correct way to fix this.</i><br>
<p>
Here is a patch to change the behavior of DBG(), relative to the<br>
development branch in CVS.<br>
<p>
Index: ChangeLog<br>
===================================================================<br>
RCS file: /cvsroot/external/sane/ChangeLog,v<br>
retrieving revision 1.1.1.1.2.6<br>
diff -u -r1.1.1.1.2.6 ChangeLog<br>
--- ChangeLog 1999/08/16 19:15:54 1.1.1.1.2.6<br>
+++ ChangeLog 1999/08/27 10:37:35<br>
@@ -1,3 +1,9 @@<br>
+1999-08-26 Petter Reinholdtsen &lt;<a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>&gt;<br>
+<br>
+ * include/sane/config.h.in include/sane/sanei_debug.h<br>
+ sanei/sanei_init_debug.c: Send debug messages to syslog if stderr<br>
+ is a socket.<br>
+ <br>
1999-08-16 Petter Reinholdtsen &lt;<a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>&gt;<br>
<br>
* configure.in: Turn on more gcc warnings.<br>
Index: include/sane/config.h.in<br>
===================================================================<br>
RCS file: /cvsroot/external/sane/include/sane/config.h.in,v<br>
retrieving revision 1.1.1.1<br>
diff -u -r1.1.1.1 config.h.in<br>
--- config.h.in 1999/08/09 18:05:44 1.1.1.1<br>
+++ config.h.in 1999/08/27 10:37:36<br>
@@ -221,6 +221,9 @@<br>
/* Define if you have the &lt;sys/select.h&gt; header file. */<br>
#undef HAVE_SYS_SELECT_H<br>
<br>
+/* Define if you have the &lt;sys/socket.h&gt; header file. */<br>
+#undef HAVE_SYS_SOCKET_H<br>
+<br>
/* Define if you have the &lt;sys/time.h&gt; header file. */<br>
#undef HAVE_SYS_TIME_H<br>
<br>
Index: include/sane/sanei_debug.h<br>
===================================================================<br>
RCS file: /cvsroot/external/sane/include/sane/sanei_debug.h,v<br>
retrieving revision 1.1.1.1<br>
diff -u -r1.1.1.1 sanei_debug.h<br>
--- sanei_debug.h 1999/08/09 18:05:43 1.1.1.1<br>
+++ sanei_debug.h 1999/08/27 10:37:36<br>
@@ -1,5 +1,8 @@<br>
#include &lt;sane/sanei.h&gt;<br>
<br>
+#ifndef _SANEI_DEBUG_H<br>
+#define _SANEI_DEBUG_H<br>
+<br>
#define ENTRY(name) PASTE(PASTE(PASTE(sane_,BACKEND_NAME),_),name)<br>
<br>
/* The cpp that comes with GNU C 2.5 seems to have troubles understanding<br>
@@ -8,9 +11,7 @@<br>
# define HAVE_VARARG_MACROS<br>
#endif<br>
<br>
-#ifndef HAVE_VARARG_MACROS<br>
- extern void sanei_debug (int level, const char *msg, ...);<br>
-#endif<br>
+extern void sanei_debug (int level, const char *msg, ...);<br>
<br>
#ifdef NDEBUG<br>
# define DBG_INIT(backend, var)<br>
@@ -23,29 +24,33 @@<br>
#else<br>
# include &lt;stdio.h&gt;<br>
<br>
-#define DBG_LEVEL PASTE(sanei_debug_,BACKEND_NAME)<br>
+#define DBG_LEVEL PASTE(sanei_debug_level_,BACKEND_NAME)<br>
<br>
#if defined(BACKEND_NAME) &amp;&amp; !defined(STUBS)<br>
-int PASTE(sanei_debug_,BACKEND_NAME);<br>
+int DBG_LEVEL;<br>
#endif<br>
<br>
# define DBG_INIT() \<br>
- sanei_init_debug (STRINGIFY(BACKEND_NAME), \<br>
- &amp;PASTE(sanei_debug_,BACKEND_NAME))<br>
+ sanei_init_debug (STRINGIFY(BACKEND_NAME), &amp;DBG_LEVEL)<br>
<br>
/* The cpp that comes with GNU C 2.5 seems to have troubles understanding<br>
vararg macros. */<br>
#ifdef HAVE_VARARG_MACROS<br>
+extern void sanei_debug_max (int level, int max_level, const char *msg, ...);<br>
# define DBG(level, msg, args...) \<br>
do { \<br>
- if (DBG_LEVEL &gt;= (level)) \<br>
- fprintf (stderr, "[" STRINGIFY(BACKEND_NAME) "] " msg, ##args); \<br>
+ sanei_debug_max ( level, DBG_LEVEL, \<br>
+ "[" STRINGIFY(BACKEND_NAME) "] " msg, ##args); \<br>
} while (0)<br>
<br>
extern void sanei_init_debug (const char * backend, int * debug_level_var);<br>
#else<br>
# define DBG sanei_debug<br>
-#endif<br>
+#endif /* HAVE_VARARG_MACROS */<br>
<br>
# define IF_DBG(x) x<br>
-#endif<br>
+#endif /* NDEBUG */<br>
+<br>
+#else<br>
+# warning "sane/sanei.h included more then once!"<br>
+#endif /* _SANEI_DEBUG_H */<br>
Index: sanei/sanei_init_debug.c<br>
===================================================================<br>
RCS file: /cvsroot/external/sane/sanei/sanei_init_debug.c,v<br>
retrieving revision 1.1.1.1<br>
diff -u -r1.1.1.1 sanei_init_debug.c<br>
--- sanei_init_debug.c 1999/08/09 18:05:59 1.1.1.1<br>
+++ sanei_init_debug.c 1999/08/27 10:37:36<br>
@@ -43,17 +43,25 @@<br>
#include &lt;ctype.h&gt;<br>
#include &lt;stdio.h&gt;<br>
#include &lt;stdlib.h&gt;<br>
+#ifdef HAVE_UNISTD_H<br>
+#include &lt;unistd.h&gt;<br>
+#endif<br>
+#include &lt;stdarg.h&gt;<br>
+#include &lt;sys/syslog.h&gt;<br>
+#ifdef HAVE_SYS_SOCKET_H<br>
+#include &lt;sys/socket.h&gt;<br>
+#endif<br>
+#include &lt;sys/stat.h&gt;<br>
<br>
#ifdef __EMX__<br>
# define INCL_DOS<br>
# include &lt;os2.h&gt;<br>
#endif<br>
<br>
+#define BACKEND_NAME sanei_debug<br>
#include &lt;sane/sanei_debug.h&gt;<br>
<br>
-#ifndef HAVE_VARARG_MACROS<br>
- static int max_level = 0;<br>
-#endif<br>
+static int global_max_level = 0;<br>
<br>
void<br>
sanei_init_debug (const char * backend, int * var)<br>
@@ -84,30 +92,38 @@<br>
<br>
*var = atoi (val);<br>
<br>
-#ifndef HAVE_VARARG_MACROS<br>
- if (*var &gt; max_level)<br>
- max_level = *var;<br>
-#endif <br>
+ if (*var &gt; global_max_level)<br>
+ global_max_level = *var;<br>
<br>
- fprintf (stderr, "[sanei_init_debug]: Setting debug level of %s to %d.\n",<br>
- backend, *var);<br>
+ DBG (0, "Setting debug level of %s to %d.\n", backend, *var);<br>
}<br>
-<br>
-#ifndef HAVE_VARARG_MACROS<br>
<br>
-#include &lt;stdarg.h&gt;<br>
+static void<br>
+debug_msg (int level, int max_level, const char *fmt, va_list ap)<br>
+{<br>
+ if (max_level &gt;= level)<br>
+ {<br>
+ if ( 1 == isfdtype(fileno(stderr), S_IFSOCK) )<br>
+ vsyslog(LOG_DEBUG, fmt, ap);<br>
+ else<br>
+ vfprintf (stderr, fmt, ap);<br>
+ }<br>
+}<br>
<br>
void<br>
sanei_debug (int level, const char *fmt, ...)<br>
{<br>
va_list ap;<br>
-<br>
- if (max_level &gt;= level)<br>
- {<br>
- va_start (ap, fmt);<br>
- vfprintf (stderr, fmt, ap);<br>
- va_end (ap);<br>
- }<br>
+ va_start (ap, fmt);<br>
+ debug_msg (level, global_max_level, fmt, ap);<br>
+ va_end (ap);<br>
}<br>
<br>
-#endif /* !HAVE_VARARG_MACROS */<br>
+void<br>
+sanei_debug_max (int level, int max_level, const char *fmt, ...)<br>
+{<br>
+ va_list ap;<br>
+ va_start (ap, fmt);<br>
+ debug_msg (level, max_level, fmt, ap);<br>
+ va_end (ap);<br>
+}<br>
<p>
<pre>
--
##&gt; Petter Reinholdtsen &lt;## | <a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>
O- &lt;SCRIPT Language="Javascript"&gt;window.close()&lt;/SCRIPT&gt;
<a href="http://www.hungry.com/~pere/">http://www.hungry.com/~pere/</a> | Go Mozilla, go! Go!
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0318.html">Menaka Lashitha Bandara: "Acer Scanners"</a>
<li> <b>Previous message:</b> <a href="0316.html">Tom Martone: "Re: SANE V2"</a>
<li> <b>Maybe in reply to:</b> <a href="0260.html">Wim Taymans: "net problem"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>