kopia lustrzana https://gitlab.com/sane-project/website
245 wiersze
8.2 KiB
HTML
245 wiersze
8.2 KiB
HTML
|
<!-- received="Thu Sep 2 05:03:10 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#8">[ date ]</a><a href="index.html#8">[ thread ]</a><a href="subject.html#8">[ subject ]</a><a href="author.html#8">[ author ]</a>
|
||
|
<!-- next="start" -->
|
||
|
<li> <b>Next message:</b> <a href="0009.html">Douglas Gilbert: "Re: SG_BIG_BUFF, glibc 2.1 weirdness ..."</a>
|
||
|
<li> <b>Previous message:</b> <a href="0007.html">Kevin Charter: "Prisa 620s; SnapScan good news and bad news"</a>
|
||
|
<!-- nextthread="start" -->
|
||
|
<!-- reply="end" -->
|
||
|
</ul>
|
||
|
<!-- body="start" -->
|
||
|
[Petter Reinholdtsen]<br>
|
||
|
<i>> Maybe changing sanei_debug() to send messages to syslog if stderr is</i><br>
|
||
|
<i>> 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 <<a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>><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 <<a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>><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 <sys/select.h> header file. */<br>
|
||
|
#undef HAVE_SYS_SELECT_H<br>
|
||
|
<br>
|
||
|
+/* Define if you have the <sys/socket.h> header file. */<br>
|
||
|
+#undef HAVE_SYS_SOCKET_H<br>
|
||
|
+<br>
|
||
|
/* Define if you have the <sys/time.h> 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 <sane/sanei.h><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 <stdio.h><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) && !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>
|
||
|
- &PASTE(sanei_debug_,BACKEND_NAME))<br>
|
||
|
+ sanei_init_debug (STRINGIFY(BACKEND_NAME), &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 >= (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 <ctype.h><br>
|
||
|
#include <stdio.h><br>
|
||
|
#include <stdlib.h><br>
|
||
|
+#ifdef HAVE_UNISTD_H<br>
|
||
|
+#include <unistd.h><br>
|
||
|
+#endif<br>
|
||
|
+#include <stdarg.h><br>
|
||
|
+#include <sys/syslog.h><br>
|
||
|
+#ifdef HAVE_SYS_SOCKET_H<br>
|
||
|
+#include <sys/socket.h><br>
|
||
|
+#endif<br>
|
||
|
+#include <sys/stat.h><br>
|
||
|
<br>
|
||
|
#ifdef __EMX__<br>
|
||
|
# define INCL_DOS<br>
|
||
|
# include <os2.h><br>
|
||
|
#endif<br>
|
||
|
<br>
|
||
|
+#define BACKEND_NAME sanei_debug<br>
|
||
|
#include <sane/sanei_debug.h><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 > max_level)<br>
|
||
|
- max_level = *var;<br>
|
||
|
-#endif <br>
|
||
|
+ if (*var > 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 <stdarg.h><br>
|
||
|
+static void<br>
|
||
|
+debug_msg (int level, int max_level, const char *fmt, va_list ap)<br>
|
||
|
+{<br>
|
||
|
+ if (max_level >= 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 >= 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>
|
||
|
--
|
||
|
##> Petter Reinholdtsen <## | <a href="mailto:pere@td.org.uit.no">pere@td.org.uit.no</a>
|
||
|
O- <SCRIPT Language="Javascript">window.close()</SCRIPT>
|
||
|
<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="0009.html">Douglas Gilbert: "Re: SG_BIG_BUFF, glibc 2.1 weirdness ..."</a>
|
||
|
<li> <b>Previous message:</b> <a href="0007.html">Kevin Charter: "Prisa 620s; SnapScan good news and bad news"</a>
|
||
|
<!-- nextthread="start" -->
|
||
|
<!-- reply="end" -->
|
||
|
</ul>
|