diff options
| -rw-r--r-- | BeckmannEgle.c | 45 | ||||
| -rw-r--r-- | Crystalfontz.c | 48 | ||||
| -rw-r--r-- | HD44780.c | 41 | ||||
| -rw-r--r-- | Makefile.am | 2 | ||||
| -rw-r--r-- | Makefile.in | 18 | ||||
| -rw-r--r-- | MatrixOrbital.c | 41 | ||||
| -rw-r--r-- | PalmPilot.c | 41 | ||||
| -rw-r--r-- | README | 4 | ||||
| -rw-r--r-- | Raster.c | 40 | ||||
| -rw-r--r-- | Skeleton.c | 10 | ||||
| -rw-r--r-- | XWindow.c | 34 | ||||
| -rw-r--r-- | cfg.c | 10 | ||||
| -rw-r--r-- | debug.h | 14 | ||||
| -rw-r--r-- | display.c | 11 | ||||
| -rw-r--r-- | fontmap.c | 1623 | ||||
| -rw-r--r-- | isdn.c | 21 | ||||
| -rw-r--r-- | lcd4linux.c | 45 | ||||
| -rw-r--r-- | lock.c | 28 | ||||
| -rw-r--r-- | parser.c | 24 | ||||
| -rw-r--r-- | processor.c | 11 | ||||
| -rw-r--r-- | system.c | 119 | 
21 files changed, 1162 insertions, 1068 deletions
| diff --git a/BeckmannEgle.c b/BeckmannEgle.c index c660bf9..d434092 100644 --- a/BeckmannEgle.c +++ b/BeckmannEgle.c @@ -1,4 +1,4 @@ -/* $Id: BeckmannEgle.c,v 1.3 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: BeckmannEgle.c,v 1.4 2000/08/10 09:44:09 reinelt Exp $   *   * driver for Beckmann+Egle mini terminals   * @@ -20,6 +20,11 @@   *   *   * $Log: BeckmannEgle.c,v $ + * Revision 1.4  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.3  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -120,25 +125,25 @@ static int BE_open (void)    if ((pid=lock_port(Port))!=0) {      if (pid==-1) -      fprintf (stderr, "BeckmannEgle: port %s could not be locked\n", Port); +      error ("BeckmannEgle: port %s could not be locked", Port);      else -      fprintf (stderr, "BeckmannEgle: port %s is locked by process %d\n", Port, pid); +      error ("BeckmannEgle: port %s is locked by process %d", Port, pid);      return -1;    }    fd = open(Port, O_RDWR | O_NOCTTY | O_NDELAY);     if (fd==-1) { -    fprintf (stderr, "BeckmannEgle: open(%s) failed: %s\n", Port, strerror(errno)); +    error ("BeckmannEgle: open(%s) failed: %s", Port, strerror(errno));      return -1;    }    if (tcgetattr(fd, &portset)==-1) { -    fprintf (stderr, "BeckmannEgle: tcgetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("BeckmannEgle: tcgetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    cfmakeraw(&portset);           // 8N1    portset.c_cflag |= CSTOPB;     // 2 stop bits    cfsetospeed(&portset, B9600);  // 9600 baud    if (tcsetattr(fd, TCSANOW, &portset)==-1) { -    fprintf (stderr, "BeckmannEgle: tcsetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("BeckmannEgle: tcsetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    return fd; @@ -152,7 +157,7 @@ static void BE_write (char *string, int len)        usleep(1000);        if (write (Device, string, len)>=0) return;      } -    fprintf (stderr, "BeckmannEgle: write(%s) failed: %s\n", Port, strerror(errno)); +    error ("BeckmannEgle: write(%s) failed: %s", Port, strerror(errno));    }  } @@ -216,13 +221,13 @@ static void BE_compact_bars (void)    int i, j, r, c, min;    int pack_i, pack_j;    int pass1=1; -  int error[nSegment][nSegment]; +  int deviation[nSegment][nSegment];    if (nSegment>CHARS+2) {      for (i=2; i<nSegment; i++) {        for (j=0; j<nSegment; j++) { -	error[i][j]=BE_segment_diff(i,j); +	deviation[i][j]=BE_segment_diff(i,j);        }      } @@ -233,8 +238,8 @@ static void BE_compact_bars (void)        for (i=2; i<nSegment; i++) {  	if (pass1 && Segment[i].used) continue;  	for (j=0; j<nSegment; j++) { -	  if (error[i][j]<min) { -	    min=error[i][j]; +	  if (deviation[i][j]<min) { +	    min=deviation[i][j];  	    pack_i=i;  	    pack_j=j;  	  } @@ -245,7 +250,7 @@ static void BE_compact_bars (void)  	  pass1=0;  	  continue;  	} else { -	  fprintf (stderr, "BeckmannEgle: unable to compact bar characters\n"); +	  error ("BeckmannEgle: unable to compact bar characters");  	  nSegment=CHARS;  	  break;  	} @@ -255,8 +260,8 @@ static void BE_compact_bars (void)        Segment[pack_i]=Segment[nSegment];        for (i=0; i<nSegment; i++) { -	error[pack_i][i]=error[nSegment][i]; -	error[i][pack_i]=error[i][nSegment]; +	deviation[pack_i][i]=deviation[nSegment][i]; +	deviation[i][pack_i]=deviation[i][nSegment];        }        for (r=0; r<Lcd.rows; r++) { @@ -365,18 +370,18 @@ int BE_init (LCD *Self)    port=cfg_get ("Port");    if (port==NULL || *port=='\0') { -    fprintf (stderr, "BeckmannEgle: no 'Port' entry in %s\n", cfg_file()); +    error ("BeckmannEgle: no 'Port' entry in %s", cfg_file());      return -1;    }    Port=strdup(port);    s=cfg_get("Type");    if (s==NULL || *s=='\0') { -    fprintf (stderr, "BeckmannEgle: no 'Type' entry in %s\n", cfg_file()); +    error ("BeckmannEgle: no 'Type' entry in %s", cfg_file());      return -1;    }    if (sscanf(s,"%dx%d",&cols,&rows)!=2 || rows<1 || cols<1) { -    fprintf(stderr,"BeckmannEgle: bad type '%s'\n", s); +    error ("BeckmannEgle: bad type '%s'", s);      return -1;    } @@ -388,11 +393,11 @@ int BE_init (LCD *Self)      }    }    if (Type==-1) { -    fprintf(stderr,"BeckmannEgle: unsupported model '%dx%d'\n", cols, rows); +    error ("BeckmannEgle: unsupported model '%dx%d'", cols, rows);      return -1;    } -  debug ("using %dx%d display at port %s\n", cols, rows, Port); +  debug ("using %dx%d display at port %s", cols, rows, Port);    Self->rows=rows;    Self->cols=cols; @@ -530,7 +535,7 @@ int BE_flush (void)  int BE_quit (void)  { -  debug ("closing port %s\n", Port); +  debug ("closing port %s", Port);    close (Device);    unlock_port(Port);    return 0; diff --git a/Crystalfontz.c b/Crystalfontz.c index 9b3c370..f3aea30 100644 --- a/Crystalfontz.c +++ b/Crystalfontz.c @@ -1,4 +1,4 @@ -/* $Id: Crystalfontz.c,v 1.4 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: Crystalfontz.c,v 1.5 2000/08/10 09:44:09 reinelt Exp $   *   * driver for display modules from Crystalfontz   * @@ -19,6 +19,11 @@   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.   *   * $Log: Crystalfontz.c,v $ + * Revision 1.5  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.4  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -65,7 +70,7 @@ static char isAnyBarDirty;  int cryfonquit(void) { -        debug ("closing port %s\n", Port); +        debug ("closing port %s", Port);  	close(Device);  	unlock_port(Port);  	exit(0); @@ -77,26 +82,23 @@ pid_t pid;  struct termios portset;  	if ((pid=lock_port(Port))!=0) { -		if (pid==-1) fprintf(stderr,"Crystalfontz: port %s could not be locked\n",Port); -		else fprintf(stderr,"Crystalfontz: port %s is locked by process %d\n",Port,pid); +		if (pid==-1) error ("Crystalfontz: port %s could not be locked",Port); +		else  error ("Crystalfontz: port %s is locked by process %d",Port,pid);  		return -1;  	}  	fd=open(Port,O_RDWR|O_NOCTTY|O_NDELAY);  	if (fd==-1) { -		fprintf(stderr,"Crystalfontz: open(%s) failed: %s\n", -			Port,strerror(errno)); +		error ("Crystalfontz: open(%s) failed: %s", Port, strerror(errno));  		return -1;  	}  	if (tcgetattr(fd,&portset)==-1) { -		fprintf(stderr,"Crystalfontz: tcgetattr(%s) failed: %s\n", -			Port,strerror(errno)); +		error ("Crystalfontz: tcgetattr(%s) failed: %s", Port, strerror(errno));  		return -1;  	}  	cfmakeraw(&portset);  	cfsetospeed(&portset,Speed);  	if (tcsetattr(fd, TCSANOW, &portset)==-1) { -		fprintf(stderr,"Crystalfontz: tcsetattr(%s) failed: %s\n", -			Port,strerror(errno)); +		error ("Crystalfontz: tcsetattr(%s) failed: %s", Port, strerror(errno));  		return -1;  	}  	return fd; @@ -118,8 +120,7 @@ char cmd_contrast[2]={ CRYFON_CONTRAST_CTRL, };  	}  	if ((port=cfg_get("Port"))==NULL || *port=='\0') { -		fprintf(stderr,"CrystalFontz: no 'Port' entry in %s\n", -			cfg_file()); +		error ("CrystalFontz: no 'Port' entry in %s", cfg_file());  		return -1;  	}  	if (port[0]=='/') Port=strdup(port); @@ -143,12 +144,11 @@ char cmd_contrast[2]={ CRYFON_CONTRAST_CTRL, };  		Speed=B19200;  		break;  	default: -		fprintf(stderr,"CrystalFontz: unsupported speed '%s' in '%s'\n", -			speed,cfg_file()); +		error ("CrystalFontz: unsupported speed '%s' in '%s'", speed, cfg_file());  		return -1;  	} -	debug ("using port %s at %d baud\n", Port, atoi(speed)); +	debug ("using port %s at %d baud", Port, atoi(speed));  	if ((Device=cryfonopen())==-1)  		return -1; @@ -158,32 +158,32 @@ char cmd_contrast[2]={ CRYFON_CONTRAST_CTRL, };  	Txtbuf=(char *)malloc(tdim);  	if (Txtbuf==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	CustCharMap=(char *)malloc(tdim);  	if (CustCharMap==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	BackupTxtbuf=(char *)malloc(tdim);  	if (BackupTxtbuf==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	Barbuf=(char *)malloc(bdim);  	if (Barbuf==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	BackupBarbuf=(char *)malloc(bdim);  	if (BackupBarbuf==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	isBarDirty=(char *)malloc(Lcd.rows);  	if (isBarDirty==NULL) { -		fprintf(stderr,"CrystalFontz: out of memory\n"); +		error ("CrystalFontz: out of memory");  		return -1;  	}  	memset(Txtbuf,' ',tdim); @@ -444,7 +444,7 @@ int x;  	}  	/* else: internal consistency failure */  	else { -		printf("Crystalfontz: internal consistency failure 1\n"); +		error ("Crystalfontz: internal consistency failure 1");  		exit(0);  	}  } @@ -457,7 +457,7 @@ int ci,x;  		CustCharMap[x]=-1;  		cust_chars[ci].use_count--;  		if (cust_chars[i].use_count==-1) { -			printf("Crystalfontz: internal consistency failure 2\n"); +			error ("Crystalfontz: internal consistency failure 2");  			exit(0);  		}  	} @@ -520,7 +520,7 @@ int i,j,k1,k2,ci;  								writeChar(i,j,128+ci);  								use_cust_char(i,j,ci);  							} -							else printf("failed to alloc a custom char\n"); +							else error ("failed to alloc a custom char");  						}  					}  					BackupBarbuf[k1]=c1; @@ -1,4 +1,4 @@ -/* $Id: HD44780.c,v 1.7 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: HD44780.c,v 1.8 2000/08/10 09:44:09 reinelt Exp $   *   * driver for display modules based on the HD44780 chip   * @@ -20,6 +20,11 @@   *   *   * $Log: HD44780.c,v $ + * Revision 1.8  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.7  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -145,9 +150,9 @@ static void HD_write (char *string, int len, int delay)  static int HD_open (void)  { -  debug ("using port 0x%x\n", Port); +  debug ("using port 0x%x", Port);    if (ioperm(Port, 3, 1)!=0) { -    fprintf (stderr, "HD44780: ioperm(0x%x) failed: %s\n", Port, strerror(errno)); +    error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno));      return -1;    } @@ -222,13 +227,13 @@ static void HD_compact_bars (void)    int i, j, r, c, min;    int pack_i, pack_j;    int pass1=1; -  int error[nSegment][nSegment]; +  int deviation[nSegment][nSegment];    if (nSegment>CHARS+2) {      for (i=2; i<nSegment; i++) {        for (j=0; j<nSegment; j++) { -	error[i][j]=HD_segment_diff(i,j); +	deviation[i][j]=HD_segment_diff(i,j);        }      } @@ -239,8 +244,8 @@ static void HD_compact_bars (void)        for (i=2; i<nSegment; i++) {  	if (pass1 && Segment[i].used) continue;  	for (j=0; j<nSegment; j++) { -	  if (error[i][j]<min) { -	    min=error[i][j]; +	  if (deviation[i][j]<min) { +	    min=deviation[i][j];  	    pack_i=i;  	    pack_j=j;  	  } @@ -251,7 +256,7 @@ static void HD_compact_bars (void)  	  pass1=0;  	  continue;  	} else { -	  fprintf (stderr, "HD44780: unable to compact bar characters\n"); +	  error ("HD44780: unable to compact bar characters");  	  nSegment=CHARS;  	  break;  	} @@ -261,8 +266,8 @@ static void HD_compact_bars (void)        Segment[pack_i]=Segment[nSegment];        for (i=0; i<nSegment; i++) { -	error[pack_i][i]=error[nSegment][i]; -	error[i][pack_i]=error[i][nSegment]; +	deviation[pack_i][i]=deviation[nSegment][i]; +	deviation[i][pack_i]=deviation[i][nSegment];        }        for (r=0; r<Lcd.rows; r++) { @@ -353,31 +358,31 @@ int HD_init (LCD *Self)    s=cfg_get ("Port");    if (s==NULL || *s=='\0') { -    fprintf (stderr, "HD44780: no 'Port' entry in %s\n", cfg_file()); +    error ("HD44780: no 'Port' entry in %s", cfg_file());      return -1;    }    if ((Port=strtol(s, &e, 0))==0 || *e!='\0') { -    fprintf (stderr, "HD44780: bad port '%s' in %s\n", s, cfg_file()); +    error ("HD44780: bad port '%s' in %s", s, cfg_file());      return -1;    }        s=cfg_get ("Delay");    if (s==NULL || *s=='\0') { -    fprintf (stderr, "HD44780: no 'Delay' entry in %s\n", cfg_file()); +    error ("HD44780: no 'Delay' entry in %s", cfg_file());      return -1;    }    if ((loops_per_usec=strtol(s, &e, 0))==0 || *e!='\0') { -    fprintf (stderr, "HD44780: bad delay '%s' in %s\n", s, cfg_file()); +    error ("HD44780: bad delay '%s' in %s", s, cfg_file());      return -1;    }        s=cfg_get("Size");    if (s==NULL || *s=='\0') { -    fprintf (stderr, "HD44780: no 'Size' entry in %s\n", cfg_file()); +    error ("HD44780: no 'Size' entry in %s", cfg_file());      return -1;    }    if (sscanf(s,"%dx%d",&cols,&rows)!=2 || rows<1 || cols<1) { -    fprintf(stderr,"HD44780: bad size '%s'\n",s); +    error ("HD44780: bad size '%s'",s);      return -1;    } @@ -520,9 +525,9 @@ int HD_flush (void)  int HD_quit (void)  { -  debug ("closing port 0x%x\n", Port); +  debug ("closing port 0x%x", Port);    if (ioperm(Port, 3, 0)!=0) { -    fprintf (stderr, "HD44780: ioperm(0x%x) failed: %s\n", Port, strerror(errno)); +    error ("HD44780: ioperm(0x%x) failed: %s", Port, strerror(errno));      return -1;    }    return 0; diff --git a/Makefile.am b/Makefile.am index 9dfdb69..8753e75 100644 --- a/Makefile.am +++ b/Makefile.am @@ -13,7 +13,7 @@ endif  lcd4linux_SOURCES = \  lcd4linux.c \ -debug.h \ +debug.c debug.h \  cfg.c cfg.h \  lock.c lock.h \  parser.c parser.h \ diff --git a/Makefile.in b/Makefile.in index adb347b..340aa1d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -73,7 +73,7 @@ AM_CFLAGS = $(X_CFLAGS) -D_GNU_SOURCE -Wall  lcd4linux_LDFLAGS = $(X_LIBS)  @WITH_X_TRUE@lcd4linux_LDADD = -lX11 -lcd4linux_SOURCES =  lcd4linux.c debug.h cfg.c cfg.h lock.c lock.h parser.c parser.h processor.c processor.h system.c system.h isdn.c isdn.h filter.c filter.h udelay.c udelay.h display.c display.h pixmap.c pixmap.h fontmap.c fontmap.h Skeleton.c MatrixOrbital.c BeckmannEgle.c HD44780.c Crystalfontz.c Crystalfontz.h PalmPilot.c Raster.c XWindow.c +lcd4linux_SOURCES =  lcd4linux.c debug.c debug.h cfg.c cfg.h lock.c lock.h parser.c parser.h processor.c processor.h system.c system.h isdn.c isdn.h filter.c filter.h udelay.c udelay.h display.c display.h pixmap.c pixmap.h fontmap.c fontmap.h Skeleton.c MatrixOrbital.c BeckmannEgle.c HD44780.c Crystalfontz.c Crystalfontz.h PalmPilot.c Raster.c XWindow.c  EXTRA_DIST =  lcd4linux.conf.sample lcd4kde.conf lcd4linux.kdelnk lcd4linux.xpm lcd4linux.lsm FAQ TODO README.Drivers README.MatrixOrbital README.HD44780 README.Crystalfontz README.X11 README.KDE README.Raster @@ -92,10 +92,10 @@ X_CFLAGS = @X_CFLAGS@  X_LIBS = @X_LIBS@  X_EXTRA_LIBS = @X_EXTRA_LIBS@  X_PRE_LIBS = @X_PRE_LIBS@ -lcd4linux_OBJECTS =  lcd4linux.o cfg.o lock.o parser.o processor.o \ -system.o isdn.o filter.o udelay.o display.o pixmap.o fontmap.o \ -Skeleton.o MatrixOrbital.o BeckmannEgle.o HD44780.o Crystalfontz.o \ -PalmPilot.o Raster.o XWindow.o +lcd4linux_OBJECTS =  lcd4linux.o debug.o cfg.o lock.o parser.o \ +processor.o system.o isdn.o filter.o udelay.o display.o pixmap.o \ +fontmap.o Skeleton.o MatrixOrbital.o BeckmannEgle.o HD44780.o \ +Crystalfontz.o PalmPilot.o Raster.o XWindow.o  @WITH_X_TRUE@lcd4linux_DEPENDENCIES =   CFLAGS = @CFLAGS@  COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -111,10 +111,10 @@ TAR = tar  GZIP_ENV = --best  DEP_FILES =  .deps/BeckmannEgle.P .deps/Crystalfontz.P .deps/HD44780.P \  .deps/MatrixOrbital.P .deps/PalmPilot.P .deps/Raster.P .deps/Skeleton.P \ -.deps/XWindow.P .deps/cfg.P .deps/display.P .deps/filter.P \ -.deps/fontmap.P .deps/isdn.P .deps/lcd4linux.P .deps/lock.P \ -.deps/parser.P .deps/pixmap.P .deps/processor.P .deps/system.P \ -.deps/udelay.P +.deps/XWindow.P .deps/cfg.P .deps/debug.P .deps/display.P \ +.deps/filter.P .deps/fontmap.P .deps/isdn.P .deps/lcd4linux.P \ +.deps/lock.P .deps/parser.P .deps/pixmap.P .deps/processor.P \ +.deps/system.P .deps/udelay.P  SOURCES = $(lcd4linux_SOURCES)  OBJECTS = $(lcd4linux_OBJECTS) diff --git a/MatrixOrbital.c b/MatrixOrbital.c index a3e8077..6388a16 100644 --- a/MatrixOrbital.c +++ b/MatrixOrbital.c @@ -1,4 +1,4 @@ -/* $Id: MatrixOrbital.c,v 1.18 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: MatrixOrbital.c,v 1.19 2000/08/10 09:44:09 reinelt Exp $   *   * driver for Matrix Orbital serial display modules   * @@ -20,6 +20,11 @@   *   *   * $Log: MatrixOrbital.c,v $ + * Revision 1.19  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.18  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -162,24 +167,24 @@ static int MO_open (void)    if ((pid=lock_port(Port))!=0) {      if (pid==-1) -      fprintf (stderr, "MatrixOrbital: port %s could not be locked\n", Port); +      error ("MatrixOrbital: port %s could not be locked", Port);      else -      fprintf (stderr, "MatrixOrbital: port %s is locked by process %d\n", Port, pid); +      error ("MatrixOrbital: port %s is locked by process %d", Port, pid);      return -1;    }    fd = open(Port, O_RDWR | O_NOCTTY | O_NDELAY);     if (fd==-1) { -    fprintf (stderr, "MatrixOrbital: open(%s) failed: %s\n", Port, strerror(errno)); +    error ("MatrixOrbital: open(%s) failed: %s", Port, strerror(errno));      return -1;    }    if (tcgetattr(fd, &portset)==-1) { -    fprintf (stderr, "MatrixOrbital: tcgetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("MatrixOrbital: tcgetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    cfmakeraw(&portset);    cfsetospeed(&portset, Speed);    if (tcsetattr(fd, TCSANOW, &portset)==-1) { -    fprintf (stderr, "MatrixOrbital: tcsetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("MatrixOrbital: tcsetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    return fd; @@ -193,7 +198,7 @@ static void MO_write (char *string, int len)        usleep(1000);        if (write (Device, string, len)>=0) return;      } -    fprintf (stderr, "MatrixOrbital: write(%s) failed: %s\n", Port, strerror(errno)); +    error ("MatrixOrbital: write(%s) failed: %s", Port, strerror(errno));    }  } @@ -268,13 +273,13 @@ static void MO_compact_bars (void)    int i, j, r, c, min;    int pack_i, pack_j;    int pass1=1; -  int error[nSegment][nSegment]; +  int deviation[nSegment][nSegment];    if (nSegment>CHARS+2) {      for (i=2; i<nSegment; i++) {        for (j=0; j<nSegment; j++) { -	error[i][j]=MO_segment_diff(i,j); +	deviation[i][j]=MO_segment_diff(i,j);        }      } @@ -285,8 +290,8 @@ static void MO_compact_bars (void)        for (i=2; i<nSegment; i++) {  	if (pass1 && Segment[i].used) continue;  	for (j=0; j<nSegment; j++) { -	  if (error[i][j]<min) { -	    min=error[i][j]; +	  if (deviation[i][j]<min) { +	    min=deviation[i][j];  	    pack_i=i;  	    pack_j=j;  	  } @@ -297,7 +302,7 @@ static void MO_compact_bars (void)  	  pass1=0;  	  continue;  	} else { -	  fprintf (stderr, "MatrixOrbital: unable to compact bar characters\n"); +	  error ("MatrixOrbital: unable to compact bar characters");  	  nSegment=CHARS;  	  break;  	} @@ -307,8 +312,8 @@ static void MO_compact_bars (void)        Segment[pack_i]=Segment[nSegment];        for (i=0; i<nSegment; i++) { -	error[pack_i][i]=error[nSegment][i]; -	error[i][pack_i]=error[i][nSegment]; +	deviation[pack_i][i]=deviation[nSegment][i]; +	deviation[i][pack_i]=deviation[i][nSegment];        }        for (r=0; r<Lcd.rows; r++) { @@ -406,7 +411,7 @@ int MO_init (LCD *Self)    port=cfg_get ("Port");    if (port==NULL || *port=='\0') { -    fprintf (stderr, "MatrixOrbital: no 'Port' entry in %s\n", cfg_file()); +    error ("MatrixOrbital: no 'Port' entry in %s", cfg_file());      return -1;    }    Port=strdup(port); @@ -427,11 +432,11 @@ int MO_init (LCD *Self)      Speed=B19200;      break;    default: -    fprintf (stderr, "MatrixOrbital: unsupported speed '%s' in %s\n", speed, cfg_file()); +    error ("MatrixOrbital: unsupported speed '%s' in %s", speed, cfg_file());      return -1;    }     -  debug ("using port %s at %d baud\n", Port, atoi(speed)); +  debug ("using port %s at %d baud", Port, atoi(speed));    Device=MO_open();    if (Device==-1) return -1; @@ -569,7 +574,7 @@ int MO_flush (void)  int MO_quit (void)  { -  debug ("closing port %s\n", Port); +  debug ("closing port %s", Port);    close (Device);    unlock_port(Port);    return (0); diff --git a/PalmPilot.c b/PalmPilot.c index b507050..940c304 100644 --- a/PalmPilot.c +++ b/PalmPilot.c @@ -1,4 +1,4 @@ -/* $Id: PalmPilot.c,v 1.2 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: PalmPilot.c,v 1.3 2000/08/10 09:44:09 reinelt Exp $   *   * driver for 3Com Palm Pilot   * @@ -20,6 +20,11 @@   *   *   * $Log: PalmPilot.c,v $ + * Revision 1.3  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.2  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -78,24 +83,24 @@ static int Palm_open (void)    if ((pid=lock_port(Port))!=0) {      if (pid==-1) -      fprintf (stderr, "PalmPilot: port %s could not be locked\n", Port); +      error ("PalmPilot: port %s could not be locked", Port);      else -      fprintf (stderr, "PalmPilot: port %s is locked by process %d\n", Port, pid); +      error ("PalmPilot: port %s is locked by process %d", Port, pid);      return -1;    }    fd = open(Port, O_RDWR | O_NOCTTY | O_NDELAY);     if (fd==-1) { -    fprintf (stderr, "PalmPilot: open(%s) failed: %s\n", Port, strerror(errno)); +    error ("PalmPilot: open(%s) failed: %s", Port, strerror(errno));      return -1;    }    if (tcgetattr(fd, &portset)==-1) { -    fprintf (stderr, "PalmPilot: tcgetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("PalmPilot: tcgetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    cfmakeraw(&portset);    cfsetospeed(&portset, Speed);    if (tcsetattr(fd, TCSANOW, &portset)==-1) { -    fprintf (stderr, "PalmPilot: tcsetattr(%s) failed: %s\n", Port, strerror(errno)); +    error ("PalmPilot: tcsetattr(%s) failed: %s", Port, strerror(errno));      return -1;    }    return fd; @@ -109,7 +114,7 @@ static void Palm_write (char *string, int len)        usleep(1000);        if (write (Device, string, len)>=0) return;      } -    fprintf (stderr, "PalmPilot: write(%s) failed: %s\n", Port, strerror(errno)); +    error ("PalmPilot: write(%s) failed: %s", Port, strerror(errno));    }  } @@ -124,14 +129,14 @@ int Palm_flush (void)    if (bitbuf==NULL) {      if ((bitbuf=malloc(xsize*ysize*sizeof(*bitbuf)))==NULL) { -      fprintf (stderr, "PalmPilot: malloc(%d) failed: %s\n", xsize*ysize*sizeof(*bitbuf), strerror(errno)); +      error ("PalmPilot: malloc(%d) failed: %s", xsize*ysize*sizeof(*bitbuf), strerror(errno));        return -1;      }    }    if (rowbuf==NULL) {      if ((rowbuf=malloc(((xsize+7)/8)*sizeof(*rowbuf)))==NULL) { -      fprintf (stderr, "PalmPilot: malloc(%d) failed: %s\n", ((xsize+7)/8)*sizeof(*rowbuf), strerror(errno)); +      error ("PalmPilot: malloc(%d) failed: %s", ((xsize+7)/8)*sizeof(*rowbuf), strerror(errno));        return -1;      }    } @@ -186,7 +191,7 @@ int Palm_init (LCD *Self)    port=cfg_get ("Port");    if (port==NULL || *port=='\0') { -    fprintf (stderr, "PalmPilot: no 'Port' entry in %s\n", cfg_file()); +    error ("PalmPilot: no 'Port' entry in %s", cfg_file());      return -1;    }    Port=strdup(port); @@ -210,29 +215,29 @@ int Palm_init (LCD *Self)      Speed=B19200;      break;    default: -    fprintf (stderr, "PalmPilot: unsupported speed '%s' in %s\n", speed, cfg_file()); +    error ("PalmPilot: unsupported speed '%s' in %s", speed, cfg_file());      return -1;    }     -  debug ("using port %s at %d baud\n", Port, atoi(speed)); +  debug ("using port %s at %d baud", Port, atoi(speed));    if (sscanf(s=cfg_get("size")?:"20x4", "%dx%d", &cols, &rows)!=2 || rows<1 || cols<1) { -    fprintf (stderr, "PalmPilot: bad size '%s'\n", s); +    error ("PalmPilot: bad size '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("font")?:"6x8", "%dx%d", &xres, &yres)!=2 || xres<5 || yres<7) { -    fprintf (stderr, "PalmPilot: bad font '%s'\n", s); +    error ("PalmPilot: bad font '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("pixel")?:"1+0", "%d+%d", &pixel, &pgap)!=2 || pixel<1 || pgap<0) { -    fprintf (stderr, "PalmPilot: bad pixel '%s'\n", s); +    error ("PalmPilot: bad pixel '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("gap")?:"0x0", "%dx%d", &cgap, &rgap)!=2 || cgap<-1 || rgap<-1) { -    fprintf (stderr, "PalmPilot: bad gap '%s'\n", s); +    error ("PalmPilot: bad gap '%s'", s);      return -1;    }    if (rgap<0) rgap=pixel+pgap; @@ -241,7 +246,7 @@ int Palm_init (LCD *Self)    border=atoi(cfg_get("border")?:"0");    if (pix_init (rows, cols, xres, yres)!=0) { -    fprintf (stderr, "PalmPilot: pix_init(%d, %d, %d, %d) failed\n", rows, cols, xres, yres); +    error ("PalmPilot: pix_init(%d, %d, %d, %d) failed", rows, cols, xres, yres);      return -1;    } @@ -272,7 +277,7 @@ int Palm_bar (int type, int row, int col, int max, int len1, int len2)  int Palm_quit (void)  { -  debug ("closing port %s\n", Port); +  debug ("closing port %s", Port);    close (Device);    unlock_port (Port);    return 0; @@ -1,5 +1,5 @@  # -# $Id: README,v 1.8 2000/08/09 14:14:11 reinelt Exp $ +# $Id: README,v 1.9 2000/08/10 09:44:09 reinelt Exp $  #  This is the README file for lcd4linux @@ -32,7 +32,7 @@ do not fork and detach with '-F'  use configuration from 'config-file' instead of /etc/lcd4linux.conf  write picture to 'output' (raster driver only)  suppress startup splash screen with '-q' -generate debugging messages with '-v' (implies -F) +generate debugging messages with '-v'  SUPPORTED DISPLAYS @@ -1,4 +1,4 @@ -/* $Id: Raster.c,v 1.9 2000/04/03 04:01:31 reinelt Exp $ +/* $Id: Raster.c,v 1.10 2000/08/10 09:44:09 reinelt Exp $   *   * driver for raster formats   * @@ -20,6 +20,11 @@   *   *   * $Log: Raster.c,v $ + * Revision 1.10  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.9  2000/04/03 04:01:31  reinelt   *   * if 'gap' is specified as -1, a gap of (pixelsize+pixelgap) is selected automatically @@ -83,6 +88,7 @@  #include <sys/stat.h> +#include "debug.h"  #include "cfg.h"  #include "display.h"  #include "pixmap.h" @@ -119,14 +125,14 @@ int Raster_flush (void)    if (bitbuf==NULL) {      if ((bitbuf=malloc(xsize*ysize*sizeof(*bitbuf)))==NULL) { -      fprintf (stderr, "Raster: malloc(%d) failed: %s\n", xsize*ysize*sizeof(*bitbuf), strerror(errno)); +      error ("Raster: malloc(%d) failed: %s", xsize*ysize*sizeof(*bitbuf), strerror(errno));        return -1;      }    }    if (rowbuf==NULL) {      if ((rowbuf=malloc(3*xsize*sizeof(*rowbuf)))==NULL) { -      fprintf (stderr, "Raster: malloc(%d) failed: %s\n", 3*xsize*sizeof(*rowbuf), strerror(errno)); +      error ("Raster: malloc(%d) failed: %s", 3*xsize*sizeof(*rowbuf), strerror(errno));        return -1;      }    } @@ -148,13 +154,13 @@ int Raster_flush (void)    snprintf (tmp, sizeof(tmp), "%s.tmp", path);    if ((fd=open(tmp, O_WRONLY | O_CREAT | O_TRUNC, 0644))<0) { -    fprintf (stderr, "Raster: open(%s) failed: %s\n", tmp, strerror(errno)); +    error ("Raster: open(%s) failed: %s", tmp, strerror(errno));      return -1;    }    snprintf (buffer, sizeof(buffer), "P6\n%d %d\n255\n", xsize, ysize);    if (write (fd, buffer, strlen(buffer))<0) { -    fprintf (stderr, "Raster: write(%s) failed: %s\n", tmp, strerror(errno)); +    error ("Raster: write(%s) failed: %s", tmp, strerror(errno));      return -1;    } @@ -179,17 +185,17 @@ int Raster_flush (void)        rowbuf[c++]=B[i];      }      if (write (fd, rowbuf, c)<0) { -      fprintf (stderr, "Raster: write(%s) failed: %s\n", tmp, strerror(errno)); +      error ("Raster: write(%s) failed: %s", tmp, strerror(errno));        return -1;      }    }    if (close (fd)<0) { -    fprintf (stderr, "Raster: close(%s) failed: %s\n", tmp, strerror(errno)); +    error ("Raster: close(%s) failed: %s", tmp, strerror(errno));      return -1;    }    if (rename (tmp, path)<0) { -    fprintf (stderr, "Raster: close(%s) failed: %s\n", tmp, strerror(errno)); +    error ("Raster: close(%s) failed: %s", tmp, strerror(errno));      return -1;    } @@ -211,27 +217,27 @@ int Raster_init (LCD *Self)    int xres=1, yres=-1;    if (output==NULL || *output=='\0') { -    fprintf (stderr, "Raster: no output file specified (use -o switch)\n"); +    error ("Raster: no output file specified (use -o switch)");      return -1;    }    if (sscanf(s=cfg_get("size")?:"20x4", "%dx%d", &cols, &rows)!=2 || rows<1 || cols<1) { -    fprintf (stderr, "Raster: bad size '%s'\n", s); +    error ("Raster: bad size '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("font")?:"5x8", "%dx%d", &xres, &yres)!=2 || xres<5 || yres<7) { -    fprintf (stderr, "Raster: bad font '%s'\n", s); +    error ("Raster: bad font '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("pixel")?:"4+1", "%d+%d", &pixel, &pgap)!=2 || pixel<1 || pgap<0) { -    fprintf (stderr, "Raster: bad pixel '%s'\n", s); +    error ("Raster: bad pixel '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("gap")?:"3x3", "%dx%d", &cgap, &rgap)!=2 || cgap<-1 || rgap<-1) { -    fprintf (stderr, "Raster: bad gap '%s'\n", s); +    error ("Raster: bad gap '%s'", s);      return -1;    }    if (rgap<0) rgap=pixel+pgap; @@ -240,20 +246,20 @@ int Raster_init (LCD *Self)    border=atoi(cfg_get("border")?:"0");    if (sscanf(s=cfg_get("foreground")?:"#102000", "#%x", &foreground)!=1) { -    fprintf (stderr, "Raster: bad foreground color '%s'\n", s); +    error ("Raster: bad foreground color '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("halfground")?:"#70c000", "#%x", &halfground)!=1) { -    fprintf (stderr, "Raster: bad halfground color '%s'\n", s); +    error ("Raster: bad halfground color '%s'", s);      return -1;    }    if (sscanf(s=cfg_get("background")?:"#80d000", "#%x", &background)!=1) { -    fprintf (stderr, "Raster: bad background color '%s'\n", s); +    error ("Raster: bad background color '%s'", s);      return -1;    }    if (pix_init (rows, cols, xres, yres)!=0) { -    fprintf (stderr, "Raster: pix_init(%d, %d, %d, %d) failed\n", rows, cols, xres, yres); +    error ("Raster: pix_init(%d, %d, %d, %d) failed", rows, cols, xres, yres);      return -1;    } @@ -1,4 +1,4 @@ -/* $Id: Skeleton.c,v 1.4 2000/03/26 18:46:28 reinelt Exp $ +/* $Id: Skeleton.c,v 1.5 2000/08/10 09:44:09 reinelt Exp $   *   * skeleton driver for new display modules   * @@ -20,6 +20,11 @@   *   *   * $Log: Skeleton.c,v $ + * Revision 1.5  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.4  2000/03/26 18:46:28  reinelt   *   * bug in pixmap.c that leaded to empty bars fixed @@ -53,6 +58,7 @@  #include <stdlib.h>  #include <stdio.h> +#include "debug.h"  #include "cfg.h"  #include "display.h" @@ -67,7 +73,7 @@ int Skel_init (LCD *Self)  {    Lcd=*Self; -  fprintf (stderr, "Skeleton: This driver does not drive anything!"); +  error ("Skeleton: This driver does not drive anything!");    return -1;    Skel_clear(); @@ -1,4 +1,4 @@ -/* $Id: XWindow.c,v 1.19 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: XWindow.c,v 1.20 2000/08/10 09:44:09 reinelt Exp $   *   * X11 Driver for LCD4Linux    * @@ -20,6 +20,11 @@   *   *   * $Log: XWindow.c,v $ + * Revision 1.20  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.19  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -112,6 +117,7 @@  #include	<unistd.h>  #include        <signal.h> +#include        "debug.h"  #include	"cfg.h"  #include	"display.h"  #include	"pixmap.h" @@ -190,12 +196,12 @@ static int init_shm(int nbytes,unsigned char **buf) {  	shmid=shmget(IPC_PRIVATE,nbytes,SHM_R|SHM_W);  	if (shmid==-1) { -		perror("X11: shmget() failed"); +		error ("X11: shmget() failed: %s", strerror(errno));  		return -1;  	}  	*buf=shmat(shmid,NULL,0);  	if (*buf==NULL) { -		perror("X11: shmat() failed"); +		error ("X11: shmat() failed: %s", strerror(errno));  		return -1;  	}  	return 0; @@ -210,7 +216,7 @@ union semun semun;  	semid=semget(IPC_PRIVATE,1,SEM_ALTER);  	if (semid==-1) { -		perror("X11: semget() failed"); +		error ("X11: semget() failed: %s", strerror(errno));  		return -1;  	}  	semun.val=1; @@ -219,11 +225,11 @@ union semun semun;  	ppid=getpid();  	switch(async_updater_pid=fork()) {  	case -1: -		perror("X11: fork() failed"); +		error ("X11: fork() failed: %s", strerror(errno));  		return -1;  	case 0:  		async_update(); -		fprintf(stderr,"X11: async_update failed\n"); +		error ("X11: async_update failed");  		kill(ppid,SIGTERM);  		exit(-1);  	default: @@ -240,7 +246,7 @@ XColor co_dummy;  XEvent ev;  	if ((dp=XOpenDisplay(NULL))==NULL) { -		fprintf(stderr,"X11: can't open display\n"); +		error ("X11: can't open display");  		return -1;  	}  	sc=DefaultScreen(dp); @@ -251,17 +257,17 @@ XEvent ev;  	cm=DefaultColormap(dp,sc);  	if (XAllocNamedColor(dp,cm,rgbfg,&co[0],&co_dummy)==False) { -		fprintf(stderr,"X11: can't alloc foreground color '%s'\n", +		error ("X11: can't alloc foreground color '%s'",  			rgbfg);  		return -1;  	}  	if (XAllocNamedColor(dp,cm,rgbbg,&co[1],&co_dummy)==False) { -		fprintf(stderr,"X11: can't alloc background color '%s'\n", +		error ("X11: can't alloc background color '%s'",  			rgbbg);  		return -1;  	}  	if (XAllocNamedColor(dp,cm,rgbhg,&co[2],&co_dummy)==False) { -		fprintf(stderr,"X11: can't alloc halfground color '%s'\n", +		error ("X11: can't alloc halfground color '%s'",  			rgbhg);  		return -1;  	} @@ -304,22 +310,22 @@ char *s;  	if (sscanf(s=cfg_get("size")?:"20x4","%dx%d",&cols,&rows)!=2  		|| rows<1 || cols<1) { -		fprintf(stderr,"X11: bad size '%s'\n",s); +		error ("X11: bad size '%s'",s);  		return -1;  	}  	if (sscanf(s=cfg_get("font")?:"5x8","%dx%d",&xres,&yres)!=2  		|| xres<5 || yres>10) { -    		fprintf(stderr,"X11: bad font '%s'\n",s); +    		error ("X11: bad font '%s'",s);      		return -1;  	}  	if (sscanf(s=cfg_get("pixel")?:"4+1","%d+%d",&pixel,&pgap)!=2  		|| pixel<1 || pgap<0) { -		fprintf(stderr,"X11: bad pixel '%s'\n",s); +		error ("X11: bad pixel '%s'",s);  		return -1;  	}  	if (sscanf(s=cfg_get("gap")?:"3x3","%dx%d",&cgap,&rgap)!=2  		|| cgap<-1 || rgap<-1) { -		fprintf(stderr,"X11: bad gap '%s'\n",s); +		error ("X11: bad gap '%s'",s);  		return -1;  	}  	if (rgap<0) rgap=pixel+pgap; @@ -1,4 +1,4 @@ -/* $Id: cfg.c,v 1.8 2000/07/31 06:46:35 reinelt Exp $ +/* $Id: cfg.c,v 1.9 2000/08/10 09:44:09 reinelt Exp $   *   * config file stuff   * @@ -20,6 +20,11 @@   *   *   * $Log: cfg.c,v $ + * Revision 1.9  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.8  2000/07/31 06:46:35  reinelt   *   * eliminated some compiler warnings with glibc @@ -103,6 +108,7 @@  #include <ctype.h>  #include <errno.h> +#include "debug.h"  #include "cfg.h"  typedef struct { @@ -211,7 +217,7 @@ int cfg_read (char *file)    stream=fopen (file, "r");    if (stream==NULL) { -    fprintf (stderr, "open(%s) failed: %s\n", file, strerror(errno)); +    error ("open(%s) failed: %s", file, strerror(errno));      return-1;    } @@ -1,4 +1,4 @@ -/* $Id: debug.h,v 1.1 2000/04/15 11:13:54 reinelt Exp $ +/* $Id: debug.h,v 1.2 2000/08/10 09:44:09 reinelt Exp $   *   * debug messages   * @@ -20,6 +20,11 @@   *   *   * $Log: debug.h,v $ + * Revision 1.2  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.1  2000/04/15 11:13:54  reinelt   *   * added '-d' (debugging) switch @@ -32,7 +37,10 @@  #ifndef _DEBUG_H_  #define _DEBUG_H_ -extern int debugging; -#define debug(args...) do { if (debugging) printf(__FILE__ ": " args); } while(0) +void message (int level, const char *format, ...); + +#define debug(args...) message (2, __FILE__ ": " args) +#define info(args...) message (1, args) +#define error(args...) message (0, args)  #endif @@ -1,4 +1,4 @@ -/* $Id: display.c,v 1.19 2000/08/09 09:50:29 reinelt Exp $ +/* $Id: display.c,v 1.20 2000/08/10 09:44:09 reinelt Exp $   *   * framework for device drivers   * @@ -20,6 +20,11 @@   *   *   * $Log: display.c,v $ + * Revision 1.20  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.19  2000/08/09 09:50:29  reinelt   *   * opened 0.98 development @@ -138,6 +143,8 @@  #include <stdio.h>  #include <math.h> + +#include "debug.h"  #include "cfg.h"  #include "display.h" @@ -195,7 +202,7 @@ int lcd_init (char *driver)        }      }    } -  fprintf (stderr, "lcd_init(%s) failed: no such display\n", driver); +  error ("lcd_init(%s) failed: no such display", driver);    return -1;  } @@ -1,4 +1,4 @@ -/* $Id: fontmap.c,v 1.3 2000/03/25 05:50:43 reinelt Exp $ +/* $Id: fontmap.c,v 1.4 2000/08/10 09:44:09 reinelt Exp $   *   * 5x8 font   * @@ -20,6 +20,11 @@   *   *   * $Log: fontmap.c,v $ + * Revision 1.4  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.3  2000/03/25 05:50:43  reinelt   *   * memory leak in Raster_flush closed @@ -42,815 +47,815 @@  #include "pixmap.h"  #include "fontmap.h" -#define b______ 0x00 -#define b_____O 0x01 -#define b____O_ 0x02 -#define b____OO 0x03 -#define b___O__ 0x04 -#define b___O_O 0x05 -#define b___OO_ 0x06 -#define b___OOO 0x07 -#define b__O___ 0x08 -#define b__O__O 0x09 -#define b__O_O_ 0x0a -#define b__O_OO 0x0b -#define b__OO__ 0x0c -#define b__OO_O 0x0d -#define b__OOO_ 0x0e -#define b__OOOO 0x0f -#define b_O____ 0x10 -#define b_O___O 0x11 -#define b_O__O_ 0x12 -#define b_O__OO 0x13 -#define b_O_O__ 0x14 -#define b_O_O_O 0x15 -#define b_O_OO_ 0x16 -#define b_O_OOO 0x17 -#define b_OO___ 0x18 -#define b_OO__O 0x19 -#define b_OO_O_ 0x1a -#define b_OO_OO 0x1b -#define b_OOO__ 0x1c -#define b_OOO_O 0x1d -#define b_OOOO_ 0x1e -#define b_OOOOO 0x1f +#define ______ 0x00 +#define _____O 0x01 +#define ____O_ 0x02 +#define ____OO 0x03 +#define ___O__ 0x04 +#define ___O_O 0x05 +#define ___OO_ 0x06 +#define ___OOO 0x07 +#define __O___ 0x08 +#define __O__O 0x09 +#define __O_O_ 0x0a +#define __O_OO 0x0b +#define __OO__ 0x0c +#define __OO_O 0x0d +#define __OOO_ 0x0e +#define __OOOO 0x0f +#define _O____ 0x10 +#define _O___O 0x11 +#define _O__O_ 0x12 +#define _O__OO 0x13 +#define _O_O__ 0x14 +#define _O_O_O 0x15 +#define _O_OO_ 0x16 +#define _O_OOO 0x17 +#define _OO___ 0x18 +#define _OO__O 0x19 +#define _OO_O_ 0x1a +#define _OO_OO 0x1b +#define _OOO__ 0x1c +#define _OOO_O 0x1d +#define _OOOO_ 0x1e +#define _OOOOO 0x1f  unsigned char Fontmap[256][8]={ -  [0x20] { b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x21] { b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b______, -	   b______, -	   b___O__, -	   b______ }, -  [0x22] { b__O_O_, -	   b__O_O_, -	   b__O_O_, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x23] { b__O_O_, -	   b__O_O_, -	   b_OOOOO, -	   b__O_O_, -	   b_OOOOO, -	   b__O_O_, -	   b__O_O_, -	   b______ }, -  [0x24] { b___O__, -	   b__OOOO, -	   b_O_O__, -	   b__OOO_, -	   b___O_O, -	   b_OOOO_, -	   b___O__, -	   b______ }, -  [0x25] { b_OO___, -	   b_OO__O, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_O__OO, -	   b____OO, -	   b______ }, -  [0x26] { b__OO__, -	   b_O__O_, -	   b_O_O__, -	   b__O___, -	   b_O_O_O, -	   b_O__O_, -	   b__OO_O, -	   b______ }, -  [0x27] { b__OO__, -	   b___O__, -	   b__O___, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x28] { b____O_, -	   b___O__, -	   b__O___, -	   b__O___, -	   b__O___, -	   b___O__, -	   b____O_, -	   b______ }, -  [0x29] { b__O___, -	   b___O__, -	   b____O_, -	   b____O_, -	   b____O_, -	   b___O__, -	   b__O___, -	   b______ }, -  [0x2a] { b______, -	   b___O__, -	   b_O_O_O, -	   b__OOO_, -	   b_O_O_O, -	   b___O__, -	   b______, -	   b______ }, -  [0x2b] { b______, -	   b___O__, -	   b___O__, -	   b_OOOOO, -	   b___O__, -	   b___O__, -	   b______, -	   b______ }, -  [0x2c] { b______, -	   b______, -	   b______, -	   b______, -	   b__OO__, -	   b___O__, -	   b__O___, -	   b______ }, -  [0x2d] { b______, -	   b______, -	   b______, -	   b_OOOOO, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x2e] { b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b__OO__, -	   b__OO__, -	   b______ }, -  [0x2f] { b______, -	   b_____O, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_O____, -	   b______, -	   b______ }, -  [0x30] { b__OOO_, -	   b_O___O, -	   b_O__OO, -	   b_O_O_O, -	   b_OO__O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x31] { b___O__, -	   b__OO__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b__OOO_, -	   b______ }, -  [0x32] { b__OOO_, -	   b_O___O, -	   b_____O, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_OOOOO, -	   b______ }, -  [0x33] { b_OOOOO, -	   b____O_, -	   b___O__, -	   b____O_, -	   b_____O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x34] { b____O_, -	   b___OO_, -	   b__O_O_, -	   b_O__O_, -	   b_OOOOO, -	   b____O_, -	   b____O_, -	   b______ }, -  [0x35] { b_OOOOO, -	   b_O____, -	   b_O____, -	   b_OOOO_, -	   b_____O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x36] { b___OO_, -	   b__O___, -	   b_O____, -	   b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x37] { b_OOOOO, -	   b_____O, -	   b____O_, -	   b___O__, -	   b__O___, -	   b__O___, -	   b__O___, -	   b______ }, -  [0x38] { b__OOO_, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x39] { b__OOO_, -	   b_O___O, -	   b_O___O, -	   b__OOOO, -	   b_____O, -	   b____O_, -	   b__OO__, -	   b______ }, -  [0x3a] { b______, -	   b__OO__, -	   b__OO__, -	   b______, -	   b__OO__, -	   b__OO__, -	   b______, -	   b______ }, -  [0x3b] { b______, -	   b__OO__, -	   b__OO__, -	   b______, -	   b__OO__, -	   b___O__, -	   b__O___, -	   b______ }, -  [0x3c] { b____O_, -	   b___O__, -	   b__O___, -	   b_O____, -	   b__O___, -	   b___O__, -	   b____O_, -	   b______ }, -  [0x3d] { b______, -	   b______, -	   b_OOOOO, -	   b______, -	   b_OOOOO, -	   b______, -	   b______, -	   b______ }, -  [0x3e] { b_O____, -	   b__O___, -	   b___O__, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_O____, -	   b______ }, -  [0x3f] { b__OOO_, -	   b_O___O, -	   b_____O, -	   b____O_, -	   b___O__, -	   b______, -	   b___O__, -	   b______ }, -  [0x40] { b__OOO_, -	   b_O___O, -	   b_____O, -	   b__OO_O, -	   b_O_O_O, -	   b_O_O_O, -	   b__OOO_, -	   b______ }, -  [0x41] { b__OOO_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_OOOOO, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x42] { b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b_OOOO_, -	   b______ }, -  [0x43] { b__OOO_, -	   b_O___O, -	   b_O____, -	   b_O____, -	   b_O____, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x44] { b_OOO__, -	   b_O__O_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O__O_, -	   b_OOO__, -	   b______ }, -  [0x45] { b_OOOOO, -	   b_O____, -	   b_O____, -	   b_OOOO_, -	   b_O____, -	   b_O____, -	   b_OOOOO, -	   b______ }, -  [0x46] { b_OOOOO, -	   b_O____, -	   b_O____, -	   b_OOOO_, -	   b_O____, -	   b_O____, -	   b_O____, -	   b______ }, -  [0x47] { b__OOO_, -	   b_O___O, -	   b_O____, -	   b_O_OOO, -	   b_O___O, -	   b_O___O, -	   b__OOOO, -	   b______ }, -  [0x48] { b_O___O, -	   b_O___O, -	   b_O___O, -	   b_OOOOO, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x49] { b__OOO_, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b__OOO_, -	   b______ }, -  [0x4a] { b___OOO, -	   b____O_, -	   b____O_, -	   b____O_, -	   b____O_, -	   b_O__O_, -	   b__OO__, -	   b______ }, -  [0x4b] { b_O___O, -	   b_O__O_, -	   b_O_O__, -	   b_OO___, -	   b_O_O__, -	   b_O__O_, -	   b_O___O, -	   b______ }, -  [0x4c] { b_O____, -	   b_O____, -	   b_O____, -	   b_O____, -	   b_O____, -	   b_O____, -	   b_OOOOO, -	   b______ }, -  [0x4d] { b_O___O, -	   b_OO_OO, -	   b_O_O_O, -	   b_O_O_O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x4e] { b_O___O, -	   b_O___O, -	   b_OO__O, -	   b_O_O_O, -	   b_O__OO, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x4f] { b__OOO_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x50] { b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b_OOOO_, -	   b_O____, -	   b_O____, -	   b_O____, -	   b______ }, -  [0x51] { b__OOO_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O_O_O, -	   b_O__O_, -	   b__OO_O, -	   b______ }, -  [0x52] { b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b_OOOO_, -	   b_O_O__, -	   b_O__O_, -	   b_O___O, -	   b______ }, -  [0x53] { b__OOOO, -	   b_O____, -	   b_O____, -	   b__OOO_, -	   b_____O, -	   b_____O, -	   b_OOOO_, -	   b______ }, -  [0x54] { b_OOOOO, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b______ }, -  [0x55] { b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x56] { b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b__O_O_, -	   b___O__, -	   b______ }, -  [0x57] { b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O_O_O, -	   b_O_O_O, -	   b_O_O_O, -	   b__O_O_, -	   b______ }, -  [0x58] { b_O___O, -	   b_O___O, -	   b__O_O_, -	   b___O__, -	   b__O_O_, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x59] { b_O___O, -	   b_O___O, -	   b_O___O, -	   b__O_O_, -	   b___O__, -	   b___O__, -	   b___O__, -	   b______ }, -  [0x5a] { b_OOOOO, -	   b_____O, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_O____, -	   b_OOOOO, -	   b______ }, -  [0x5b] { b__OOO_, -	   b__O___, -	   b__O___, -	   b__O___, -	   b__O___, -	   b__O___, -	   b__OOO_, -	   b______ }, -  [0x5c] { b_O___O, -	   b__O_O_, -	   b_OOOOO, -	   b___O__, -	   b_OOOOO, -	   b___O__, -	   b___O__, -	   b______ }, -  [0x5d] { b__OOO_, -	   b____O_, -	   b____O_, -	   b____O_, -	   b____O_, -	   b____O_, -	   b__OOO_, -	   b______ }, -  [0x5e] { b___O__, -	   b__O_O_, -	   b_O___O, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x5f] { b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______, -	   b_OOOOO, -	   b______ }, -  [0x60] { b__O___, -	   b___O__, -	   b____O_, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, -  [0x61] { b______, -	   b______, -	   b__OOO_, -	   b_____O, -	   b__OOOO, -	   b_O___O, -	   b__OOOO, -	   b______ }, -  [0x62] { b_O____, -	   b_O____, -	   b_O____, -	   b_O_OO_, -	   b_OO__O, -	   b_O___O, -	   b_OOOO_, -	   b______ }, -  [0x63] { b______, -	   b______, -	   b__OOO_, -	   b_O____, -	   b_O____, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x64] { b_____O, -	   b_____O, -	   b_____O, -	   b__OO_O, -	   b_O__OO, -	   b_O___O, -	   b__OOOO, -	   b______ }, -  [0x65] { b______, -	   b______, -	   b__OOO_, -	   b_O___O, -	   b_OOOOO, -	   b_O____, -	   b__OOO_, -	   b______ }, -  [0x66] { b___OO_, -	   b__O__O, -	   b__O___, -	   b_OOO__, -	   b__O___, -	   b__O___, -	   b__O___, -	   b______ }, -  [0x67] { b______, -	   b__OOOO, -	   b_O___O, -	   b_O___O, -	   b__OOOO, -	   b_____O, -	   b__OOO_, -	   b______ }, -  [0x68] { b_O____, -	   b_O____, -	   b_O_OO_, -	   b_OO__O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x69] { b___O__, -	   b______, -	   b__OO__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b__OOO_, -	   b______ }, -  [0x6a] { b____O_, -	   b______, -	   b___OO_, -	   b____O_, -	   b____O_, -	   b_O__O_, -	   b__OO__, -	   b______ }, -  [0x6b] { b__O___, -	   b__O___, -	   b__O__O, -	   b__O_O_, -	   b__OO__, -	   b__O_O_, -	   b__O__O, -	   b______ }, -  [0x6c] { b__OO__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b__OOO_, -	   b______ }, -  [0x6d] { b______, -	   b______, -	   b_OO_O_, -	   b_O_O_O, -	   b_O_O_O, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x6e] { b______, -	   b______, -	   b_OOOO_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b______ }, -  [0x6f] { b______, -	   b______, -	   b__OOO_, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b__OOO_, -	   b______ }, -  [0x70] { b______, -	   b______, -	   b_OOOO_, -	   b_O___O, -	   b_OOOO_, -	   b_O____, -	   b_O____, -	   b______ }, -  [0x71] { b______, -	   b______, -	   b__OO_O, -	   b_O__OO, -	   b__OOOO, -	   b_____O, -	   b_____O, -	   b______ }, -  [0x72] { b______, -	   b______, -	   b_O_OO_, -	   b_OO__O, -	   b_O____, -	   b_O____, -	   b_O____, -	   b______ }, -  [0x73] { b______, -	   b______, -	   b__OOO_, -	   b_O____, -	   b__OOO_, -	   b_____O, -	   b_OOOO_, -	   b______ }, -  [0x74] { b__O___, -	   b_OOO__, -	   b__O___, -	   b__O___, -	   b__O___, -	   b__O__O, -	   b___OO_, -	   b______ }, -  [0x75] { b______, -	   b______, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O__OO, -	   b__OO_O, -	   b______ }, -  [0x76] { b______, -	   b______, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b__O_O_, -	   b___O__, -	   b______ }, -  [0x77] { b______, -	   b______, -	   b_O___O, -	   b_O___O, -	   b_O___O, -	   b_O_O_O, -	   b__O_O_, -	   b______ }, -  [0x78] { b______, -	   b______, -	   b_O___O, -	   b__O_O_, -	   b___O__, -	   b__O_O_, -	   b_O___O, -	   b______ }, -  [0x79] { b______, -	   b______, -	   b_O___O, -	   b_O___O, -	   b__OOOO, -	   b_____O, -	   b__OOO_, -	   b______ }, -  [0x7a] { b______, -	   b______, -	   b_OOOOO, -	   b____O_, -	   b___O__, -	   b__O___, -	   b_OOOOO, -	   b______ }, -  [0x7b] { b____O_, -	   b___O__, -	   b___O__, -	   b__O___, -	   b___O__, -	   b___O__, -	   b____O_, -	   b______ }, -  [0x7c] { b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b___O__, -	   b______ }, -  [0x7d] { b__O___, -	   b___O__, -	   b___O__, -	   b____O_, -	   b___O__, -	   b___O__, -	   b__O___, -	   b______ }, -  [0x7e] { b______, -	   b___O__, -	   b____O_, -	   b_OOOOO, -	   b____O_, -	   b___O__, -	   b______, -	   b______ }, +  [0x20] { ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x21] { ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ______, +	   ______, +	   ___O__, +	   ______ }, +  [0x22] { __O_O_, +	   __O_O_, +	   __O_O_, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x23] { __O_O_, +	   __O_O_, +	   _OOOOO, +	   __O_O_, +	   _OOOOO, +	   __O_O_, +	   __O_O_, +	   ______ }, +  [0x24] { ___O__, +	   __OOOO, +	   _O_O__, +	   __OOO_, +	   ___O_O, +	   _OOOO_, +	   ___O__, +	   ______ }, +  [0x25] { _OO___, +	   _OO__O, +	   ____O_, +	   ___O__, +	   __O___, +	   _O__OO, +	   ____OO, +	   ______ }, +  [0x26] { __OO__, +	   _O__O_, +	   _O_O__, +	   __O___, +	   _O_O_O, +	   _O__O_, +	   __OO_O, +	   ______ }, +  [0x27] { __OO__, +	   ___O__, +	   __O___, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x28] { ____O_, +	   ___O__, +	   __O___, +	   __O___, +	   __O___, +	   ___O__, +	   ____O_, +	   ______ }, +  [0x29] { __O___, +	   ___O__, +	   ____O_, +	   ____O_, +	   ____O_, +	   ___O__, +	   __O___, +	   ______ }, +  [0x2a] { ______, +	   ___O__, +	   _O_O_O, +	   __OOO_, +	   _O_O_O, +	   ___O__, +	   ______, +	   ______ }, +  [0x2b] { ______, +	   ___O__, +	   ___O__, +	   _OOOOO, +	   ___O__, +	   ___O__, +	   ______, +	   ______ }, +  [0x2c] { ______, +	   ______, +	   ______, +	   ______, +	   __OO__, +	   ___O__, +	   __O___, +	   ______ }, +  [0x2d] { ______, +	   ______, +	   ______, +	   _OOOOO, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x2e] { ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   __OO__, +	   __OO__, +	   ______ }, +  [0x2f] { ______, +	   _____O, +	   ____O_, +	   ___O__, +	   __O___, +	   _O____, +	   ______, +	   ______ }, +  [0x30] { __OOO_, +	   _O___O, +	   _O__OO, +	   _O_O_O, +	   _OO__O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x31] { ___O__, +	   __OO__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   __OOO_, +	   ______ }, +  [0x32] { __OOO_, +	   _O___O, +	   _____O, +	   ____O_, +	   ___O__, +	   __O___, +	   _OOOOO, +	   ______ }, +  [0x33] { _OOOOO, +	   ____O_, +	   ___O__, +	   ____O_, +	   _____O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x34] { ____O_, +	   ___OO_, +	   __O_O_, +	   _O__O_, +	   _OOOOO, +	   ____O_, +	   ____O_, +	   ______ }, +  [0x35] { _OOOOO, +	   _O____, +	   _O____, +	   _OOOO_, +	   _____O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x36] { ___OO_, +	   __O___, +	   _O____, +	   _OOOO_, +	   _O___O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x37] { _OOOOO, +	   _____O, +	   ____O_, +	   ___O__, +	   __O___, +	   __O___, +	   __O___, +	   ______ }, +  [0x38] { __OOO_, +	   _O___O, +	   _O___O, +	   __OOO_, +	   _O___O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x39] { __OOO_, +	   _O___O, +	   _O___O, +	   __OOOO, +	   _____O, +	   ____O_, +	   __OO__, +	   ______ }, +  [0x3a] { ______, +	   __OO__, +	   __OO__, +	   ______, +	   __OO__, +	   __OO__, +	   ______, +	   ______ }, +  [0x3b] { ______, +	   __OO__, +	   __OO__, +	   ______, +	   __OO__, +	   ___O__, +	   __O___, +	   ______ }, +  [0x3c] { ____O_, +	   ___O__, +	   __O___, +	   _O____, +	   __O___, +	   ___O__, +	   ____O_, +	   ______ }, +  [0x3d] { ______, +	   ______, +	   _OOOOO, +	   ______, +	   _OOOOO, +	   ______, +	   ______, +	   ______ }, +  [0x3e] { _O____, +	   __O___, +	   ___O__, +	   ____O_, +	   ___O__, +	   __O___, +	   _O____, +	   ______ }, +  [0x3f] { __OOO_, +	   _O___O, +	   _____O, +	   ____O_, +	   ___O__, +	   ______, +	   ___O__, +	   ______ }, +  [0x40] { __OOO_, +	   _O___O, +	   _____O, +	   __OO_O, +	   _O_O_O, +	   _O_O_O, +	   __OOO_, +	   ______ }, +  [0x41] { __OOO_, +	   _O___O, +	   _O___O, +	   _O___O, +	   _OOOOO, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x42] { _OOOO_, +	   _O___O, +	   _O___O, +	   _OOOO_, +	   _O___O, +	   _O___O, +	   _OOOO_, +	   ______ }, +  [0x43] { __OOO_, +	   _O___O, +	   _O____, +	   _O____, +	   _O____, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x44] { _OOO__, +	   _O__O_, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O__O_, +	   _OOO__, +	   ______ }, +  [0x45] { _OOOOO, +	   _O____, +	   _O____, +	   _OOOO_, +	   _O____, +	   _O____, +	   _OOOOO, +	   ______ }, +  [0x46] { _OOOOO, +	   _O____, +	   _O____, +	   _OOOO_, +	   _O____, +	   _O____, +	   _O____, +	   ______ }, +  [0x47] { __OOO_, +	   _O___O, +	   _O____, +	   _O_OOO, +	   _O___O, +	   _O___O, +	   __OOOO, +	   ______ }, +  [0x48] { _O___O, +	   _O___O, +	   _O___O, +	   _OOOOO, +	   _O___O, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x49] { __OOO_, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   __OOO_, +	   ______ }, +  [0x4a] { ___OOO, +	   ____O_, +	   ____O_, +	   ____O_, +	   ____O_, +	   _O__O_, +	   __OO__, +	   ______ }, +  [0x4b] { _O___O, +	   _O__O_, +	   _O_O__, +	   _OO___, +	   _O_O__, +	   _O__O_, +	   _O___O, +	   ______ }, +  [0x4c] { _O____, +	   _O____, +	   _O____, +	   _O____, +	   _O____, +	   _O____, +	   _OOOOO, +	   ______ }, +  [0x4d] { _O___O, +	   _OO_OO, +	   _O_O_O, +	   _O_O_O, +	   _O___O, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x4e] { _O___O, +	   _O___O, +	   _OO__O, +	   _O_O_O, +	   _O__OO, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x4f] { __OOO_, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x50] { _OOOO_, +	   _O___O, +	   _O___O, +	   _OOOO_, +	   _O____, +	   _O____, +	   _O____, +	   ______ }, +  [0x51] { __OOO_, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O_O_O, +	   _O__O_, +	   __OO_O, +	   ______ }, +  [0x52] { _OOOO_, +	   _O___O, +	   _O___O, +	   _OOOO_, +	   _O_O__, +	   _O__O_, +	   _O___O, +	   ______ }, +  [0x53] { __OOOO, +	   _O____, +	   _O____, +	   __OOO_, +	   _____O, +	   _____O, +	   _OOOO_, +	   ______ }, +  [0x54] { _OOOOO, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ______ }, +  [0x55] { _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x56] { _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   __O_O_, +	   ___O__, +	   ______ }, +  [0x57] { _O___O, +	   _O___O, +	   _O___O, +	   _O_O_O, +	   _O_O_O, +	   _O_O_O, +	   __O_O_, +	   ______ }, +  [0x58] { _O___O, +	   _O___O, +	   __O_O_, +	   ___O__, +	   __O_O_, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x59] { _O___O, +	   _O___O, +	   _O___O, +	   __O_O_, +	   ___O__, +	   ___O__, +	   ___O__, +	   ______ }, +  [0x5a] { _OOOOO, +	   _____O, +	   ____O_, +	   ___O__, +	   __O___, +	   _O____, +	   _OOOOO, +	   ______ }, +  [0x5b] { __OOO_, +	   __O___, +	   __O___, +	   __O___, +	   __O___, +	   __O___, +	   __OOO_, +	   ______ }, +  [0x5c] { _O___O, +	   __O_O_, +	   _OOOOO, +	   ___O__, +	   _OOOOO, +	   ___O__, +	   ___O__, +	   ______ }, +  [0x5d] { __OOO_, +	   ____O_, +	   ____O_, +	   ____O_, +	   ____O_, +	   ____O_, +	   __OOO_, +	   ______ }, +  [0x5e] { ___O__, +	   __O_O_, +	   _O___O, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x5f] { ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______, +	   _OOOOO, +	   ______ }, +  [0x60] { __O___, +	   ___O__, +	   ____O_, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ }, +  [0x61] { ______, +	   ______, +	   __OOO_, +	   _____O, +	   __OOOO, +	   _O___O, +	   __OOOO, +	   ______ }, +  [0x62] { _O____, +	   _O____, +	   _O____, +	   _O_OO_, +	   _OO__O, +	   _O___O, +	   _OOOO_, +	   ______ }, +  [0x63] { ______, +	   ______, +	   __OOO_, +	   _O____, +	   _O____, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x64] { _____O, +	   _____O, +	   _____O, +	   __OO_O, +	   _O__OO, +	   _O___O, +	   __OOOO, +	   ______ }, +  [0x65] { ______, +	   ______, +	   __OOO_, +	   _O___O, +	   _OOOOO, +	   _O____, +	   __OOO_, +	   ______ }, +  [0x66] { ___OO_, +	   __O__O, +	   __O___, +	   _OOO__, +	   __O___, +	   __O___, +	   __O___, +	   ______ }, +  [0x67] { ______, +	   __OOOO, +	   _O___O, +	   _O___O, +	   __OOOO, +	   _____O, +	   __OOO_, +	   ______ }, +  [0x68] { _O____, +	   _O____, +	   _O_OO_, +	   _OO__O, +	   _O___O, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x69] { ___O__, +	   ______, +	   __OO__, +	   ___O__, +	   ___O__, +	   ___O__, +	   __OOO_, +	   ______ }, +  [0x6a] { ____O_, +	   ______, +	   ___OO_, +	   ____O_, +	   ____O_, +	   _O__O_, +	   __OO__, +	   ______ }, +  [0x6b] { __O___, +	   __O___, +	   __O__O, +	   __O_O_, +	   __OO__, +	   __O_O_, +	   __O__O, +	   ______ }, +  [0x6c] { __OO__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   __OOO_, +	   ______ }, +  [0x6d] { ______, +	   ______, +	   _OO_O_, +	   _O_O_O, +	   _O_O_O, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x6e] { ______, +	   ______, +	   _OOOO_, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O___O, +	   ______ }, +  [0x6f] { ______, +	   ______, +	   __OOO_, +	   _O___O, +	   _O___O, +	   _O___O, +	   __OOO_, +	   ______ }, +  [0x70] { ______, +	   ______, +	   _OOOO_, +	   _O___O, +	   _OOOO_, +	   _O____, +	   _O____, +	   ______ }, +  [0x71] { ______, +	   ______, +	   __OO_O, +	   _O__OO, +	   __OOOO, +	   _____O, +	   _____O, +	   ______ }, +  [0x72] { ______, +	   ______, +	   _O_OO_, +	   _OO__O, +	   _O____, +	   _O____, +	   _O____, +	   ______ }, +  [0x73] { ______, +	   ______, +	   __OOO_, +	   _O____, +	   __OOO_, +	   _____O, +	   _OOOO_, +	   ______ }, +  [0x74] { __O___, +	   _OOO__, +	   __O___, +	   __O___, +	   __O___, +	   __O__O, +	   ___OO_, +	   ______ }, +  [0x75] { ______, +	   ______, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O__OO, +	   __OO_O, +	   ______ }, +  [0x76] { ______, +	   ______, +	   _O___O, +	   _O___O, +	   _O___O, +	   __O_O_, +	   ___O__, +	   ______ }, +  [0x77] { ______, +	   ______, +	   _O___O, +	   _O___O, +	   _O___O, +	   _O_O_O, +	   __O_O_, +	   ______ }, +  [0x78] { ______, +	   ______, +	   _O___O, +	   __O_O_, +	   ___O__, +	   __O_O_, +	   _O___O, +	   ______ }, +  [0x79] { ______, +	   ______, +	   _O___O, +	   _O___O, +	   __OOOO, +	   _____O, +	   __OOO_, +	   ______ }, +  [0x7a] { ______, +	   ______, +	   _OOOOO, +	   ____O_, +	   ___O__, +	   __O___, +	   _OOOOO, +	   ______ }, +  [0x7b] { ____O_, +	   ___O__, +	   ___O__, +	   __O___, +	   ___O__, +	   ___O__, +	   ____O_, +	   ______ }, +  [0x7c] { ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ___O__, +	   ______ }, +  [0x7d] { __O___, +	   ___O__, +	   ___O__, +	   ____O_, +	   ___O__, +	   ___O__, +	   __O___, +	   ______ }, +  [0x7e] { ______, +	   ___O__, +	   ____O_, +	   _OOOOO, +	   ____O_, +	   ___O__, +	   ______, +	   ______ }, -  [0x7f] { b______, -	   b___O__, -	   b__O___, -	   b_OOOOO, -	   b__O___, -	   b___O__, -	   b______, -	   b______ }, -  [0xb0] { b__OOO_, -	   b__O_O_, -	   b__OOO_, -	   b______, -	   b______, -	   b______, -	   b______, -	   b______ }, +  [0x7f] { ______, +	   ___O__, +	   __O___, +	   _OOOOO, +	   __O___, +	   ___O__, +	   ______, +	   ______ }, +  [0xb0] { __OOO_, +	   __O_O_, +	   __OOO_, +	   ______, +	   ______, +	   ______, +	   ______, +	   ______ },  }; @@ -1,4 +1,4 @@ -/* $Id: isdn.c,v 1.6 2000/04/15 11:56:35 reinelt Exp $ +/* $Id: isdn.c,v 1.7 2000/08/10 09:44:09 reinelt Exp $   *   * ISDN specific functions   * @@ -20,6 +20,11 @@   *   *   * $Log: isdn.c,v $ + * Revision 1.7  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.6  2000/04/15 11:56:35  reinelt   *   * more debug messages @@ -83,25 +88,25 @@ static int Usage (void)    fd=open ("/dev/isdninfo", O_RDONLY | O_NDELAY);    if (fd==-1) { -    perror ("open(/dev/isdninfo) failed"); +    error ("open(/dev/isdninfo) failed: %s", strerror(errno));      return 0;    }    if (read (fd, buffer, sizeof(buffer))==-1) { -    perror ("read(/dev/isdninfo) failed"); +    error ("read(/dev/isdninfo) failed: %s", strerror(errno));      fd=-1;      return 0;    }    if (close(fd)==-1) { -    perror ("close(/dev/isdninfo) failed"); +    error ("close(/dev/isdninfo) failed: %s", strerror(errno));      fd=-1;      return 0;    }    p=strstr(buffer, "usage:");    if (p==NULL) { -    fprintf (stderr, "parse(/dev/isdninfo) failed: no usage line\n"); +    error ("parse(/dev/isdninfo) failed: no usage line");      fd=-1;      return 0;    } @@ -130,14 +135,14 @@ int Isdn (int *rx, int *tx, int *usage)    if (fd==-2) {      fd = open("/dev/isdninfo", O_RDONLY | O_NDELAY);      if (fd==-1) { -      perror ("open(/dev/isdninfo) failed"); +      error ("open(/dev/isdninfo) failed: %s", strerror(errno));        return -1;      } -    debug ("open (/proc/isdninfo)=%d\n", fd); +    debug ("open (/proc/isdninfo)=%d", fd);    }    if (ioctl(fd, IIOCGETCPS, &cps)) { -    perror("ioctl(IIOCGETCPS) failed"); +    error("ioctl(IIOCGETCPS) failed: %s", strerror(errno));      fd=-1;      return -1;    } diff --git a/lcd4linux.c b/lcd4linux.c index 3236937..2bb62eb 100644 --- a/lcd4linux.c +++ b/lcd4linux.c @@ -1,4 +1,4 @@ -/* $Id: lcd4linux.c,v 1.25 2000/08/09 14:14:11 reinelt Exp $ +/* $Id: lcd4linux.c,v 1.26 2000/08/10 09:44:09 reinelt Exp $   *   * LCD4Linux   * @@ -20,6 +20,11 @@   *   *   * $Log: lcd4linux.c,v $ + * Revision 1.26  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.25  2000/08/09 14:14:11  reinelt   *   * new switch -F (do not fork) @@ -159,7 +164,8 @@  char *release="LCD4Linux " VERSION " (c) 2000 Michael Reinelt <reinelt@eunet.at>";  char *output=NULL;  int got_signal=0; -int debugging=0; +int debugging=1; +int foreground=0;  int tick, tack;  static void usage(void) @@ -225,7 +231,7 @@ void calibrate (void)  void handler (int signal)  { -  debug ("got signal %d\n", signal); +  debug ("got signal %d", signal);    got_signal=signal;  } @@ -234,7 +240,6 @@ int main (int argc, char *argv[])    char *cfg="/etc/lcd4linux.conf";    char *driver;    int c, smooth; -  int foreground=0;    int quiet=0;    while ((c=getopt (argc, argv, "c:dFf:hlo:qv"))!=EOF) { @@ -269,7 +274,6 @@ int main (int argc, char *argv[])        break;      case 'v':        debugging++; -      foreground++;        break;      default:        exit(2); @@ -283,24 +287,23 @@ int main (int argc, char *argv[])    if (!foreground) {      pid_t i; -    // debugging does not make sense here -    // because -v implies -F which sets foreground=1 -    // debug ("going background...\n"); +    debug ("going background...");      i=fork();      if (i<0) { -      perror ("fork() failed"); +      error ("fork() failed: %s", strerror(errno));        exit (1);      } -    printf ("fork() returned %d\n", i);      if (i!=0)        exit (0); -    close (0); -    close (1); -    printf ("Hallo stdout\n"); -    fprintf (stderr, "Hallo stderr\n"); +     +    // close stdin/out/err ??? +    // open (dev/null) ???    } - -  debug ("LCD4Linux " VERSION "\n"); +   +  if (foreground) +    debug ("LCD4Linux " VERSION); +  else +    info ("Version " VERSION " starting");    // set default values @@ -314,11 +317,11 @@ int main (int argc, char *argv[])    driver=cfg_get("display");    if (driver==NULL || *driver=='\0') { -    fprintf (stderr, "%s: missing 'display' entry!\n", cfg_file()); +    error ("%s: missing 'display' entry!", cfg_file());      exit (1);    } -  debug ("initializing driver %s\n", driver); +  debug ("initializing driver %s", driver);    if (lcd_init(driver)==-1) {      exit (1);    } @@ -339,7 +342,7 @@ int main (int argc, char *argv[])      lcd_clear();    } -  debug ("starting main loop\n"); +  debug ("starting main loop");    smooth=0;    while (got_signal==0) { @@ -349,14 +352,14 @@ int main (int argc, char *argv[])      usleep(tick*1000);    } -  debug ("leaving main loop\n"); +  debug ("leaving main loop");    lcd_clear();    if (!quiet) hello();    lcd_quit();    if (got_signal==SIGHUP) { -    debug ("restarting\n"); +    debug ("restarting");    }    exit (0);  } @@ -1,4 +1,4 @@ -/* $Id: lock.c,v 1.1 2000/04/07 05:42:20 reinelt Exp $ +/* $Id: lock.c,v 1.2 2000/08/10 09:44:09 reinelt Exp $   *   * UUCP style locking   * @@ -20,6 +20,11 @@   *   *   * $Log: lock.c,v $ + * Revision 1.2  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.1  2000/04/07 05:42:20  reinelt   *   * UUCP style lockfiles for the serial port @@ -51,6 +56,7 @@  #include <sys/stat.h> +#include "debug.h"  #include "lock.h" @@ -71,18 +77,18 @@ pid_t lock_port (char *port)    snprintf(tempfile, sizeof(tempfile), LOCK, "TMP.XXXXXX");    if (mktemp(tempfile)==NULL) { -    fprintf(stderr, "mktemp(%s) failed.\n", tempfile); +    error ("mktemp(%s) failed.", tempfile);      return -1;    }    if ((fd=creat(tempfile, 0664))==-1) { -    fprintf(stderr, "creat(%s) failed: %s\n", tempfile, strerror(errno)); +    error ("creat(%s) failed: %s", tempfile, strerror(errno));      return -1;    }    snprintf (buffer, sizeof(buffer), "%10d\n", (int)getpid());    if (write(fd, buffer, strlen(buffer))!=strlen(buffer)) { -    fprintf(stderr, "write(%s) failed: %s\n", tempfile, strerror(errno)); +    error ("write(%s) failed: %s", tempfile, strerror(errno));      close(fd);      unlink(tempfile);      return -1; @@ -93,42 +99,42 @@ pid_t lock_port (char *port)    while (link(tempfile, lockfile)==-1) {      if (errno!=EEXIST) { -      fprintf(stderr, "link(%s, %s) failed: %s\n", tempfile, lockfile, strerror(errno)); +      error ("link(%s, %s) failed: %s", tempfile, lockfile, strerror(errno));        unlink(tempfile);        return -1;      }      if ((fd=open(lockfile, O_RDONLY))==-1) {        if (errno==ENOENT) continue; // lockfile disappared -      fprintf (stderr, "open(%s) failed: %s\n", lockfile, strerror(errno)); +      error ("open(%s) failed: %s", lockfile, strerror(errno));        unlink (tempfile);        return -1;      }      len=read(fd, buffer, sizeof(buffer)-1);      if (len<0) { -      fprintf (stderr, "read(%s) failed: %s\n", lockfile, strerror(errno)); +      error ("read(%s) failed: %s", lockfile, strerror(errno));        unlink (tempfile);        return -1;      }      buffer[len]='\0';      if (sscanf(buffer, "%d", &pid)!=1 || pid==0) { -      fprintf (stderr, "scan(%s) failed.\n", lockfile); +      error ("scan(%s) failed.", lockfile);        unlink (tempfile);        return -1;      }      if (pid==getpid()) { -      fprintf (stderr, "%s already locked by us. uh-oh...\n", lockfile); +      error ("%s already locked by us. uh-oh...", lockfile);        unlink(tempfile);        return 0;      }      if ((kill(pid, 0)==-1) && errno==ESRCH) { -      fprintf (stderr, "removing stale lockfile %s\n", lockfile); +      error ("removing stale lockfile %s", lockfile);        if (unlink(lockfile)==-1 && errno!=ENOENT) { -	fprintf (stderr, "unlink(%s) failed: %s\n", lockfile, strerror(errno)); +	error ("unlink(%s) failed: %s", lockfile, strerror(errno));  	unlink(tempfile);  	return pid;        } @@ -1,4 +1,4 @@ -/* $Id: parser.c,v 1.6 2000/05/21 06:20:35 reinelt Exp $ +/* $Id: parser.c,v 1.7 2000/08/10 09:44:09 reinelt Exp $   *   * row definition parser   * @@ -20,6 +20,11 @@   *   *   * $Log: parser.c,v $ + * Revision 1.7  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.6  2000/05/21 06:20:35  reinelt   *   * added ppp throughput @@ -70,6 +75,7 @@  #include <ctype.h>  #include <string.h> +#include "debug.h"  #include "display.h"  #include "parser.h" @@ -174,7 +180,7 @@ char *parse (char *string, int supported_bars, int usage[])      case '%':        if ((token=get_token (++s, &s, 0, usage))==-1) { -	fprintf (stderr, "WARNING: unknown token <%%%c> in <%s>\n", *s, string); +	error ("WARNING: unknown token <%%%c> in <%s>", *s, string);        } else {  	*p++='%';  	*p++=token; @@ -184,21 +190,21 @@ char *parse (char *string, int supported_bars, int usage[])      case '$':        type=bar_type(tolower(*++s));        if (type==0) { -	fprintf (stderr, "WARNING: invalid bar type <$%c> in <%s>\n", *s, string); +	error ("WARNING: invalid bar type <$%c> in <%s>", *s, string);  	break;        }        if (!(type & supported_bars)) { -	fprintf (stderr, "WARNING: driver does not support bar type '%c'\n", *s); +	error ("WARNING: driver does not support bar type '%c'", *s);  	break;        }        if (isupper(*s)) type |= BAR_LOG;        len=strtol(++s, &s, 10);        if (len<1 || len>127) { -	fprintf (stderr, "WARNING: invalid bar length in <%s>\n", string); +	error ("WARNING: invalid bar length in <%s>", string);  	break;        }        if ((token=get_token (s, &s, 0, usage))==-1) { -	fprintf (stderr, "WARNING: unknown token <$%c> in <%s>\n", *s, string); +	error ("WARNING: unknown token <$%c> in <%s>", *s, string);  	break;        }        token2=-1; @@ -208,11 +214,11 @@ char *parse (char *string, int supported_bars, int usage[])  	} else if ((type & BAR_V) && (supported_bars & BAR_V2)) {  	  type |= BAR_V2;  	} else { -	  fprintf (stderr, "WARNING: driver does not support double bars\n"); +	  error ("WARNING: driver does not support double bars");  	  break;  	}  	if ((token2=get_token (s+1, &s, 0, usage))==-1) { -	  fprintf (stderr, "WARNING: unknown token <$%c> in <%s>\n", *s, string); +	  error ("WARNING: unknown token <$%c> in <%s>", *s, string);  	  break;  	}        } @@ -231,7 +237,7 @@ char *parse (char *string, int supported_bars, int usage[])  	unsigned int c=0; int n;  	sscanf (s+1, "%3o%n", &c, &n);  	if (c==0 || c>255) { -	  fprintf (stderr, "WARNING: illegal '\\' in <%s>\n", string); +	  error ("WARNING: illegal '\\' in <%s>", string);  	} else {  	  *p++=c;  	  s+=n+1; diff --git a/processor.c b/processor.c index da1c3d2..9a2e9ab 100644 --- a/processor.c +++ b/processor.c @@ -1,4 +1,4 @@ -/* $Id: processor.c,v 1.7 2000/07/31 10:43:44 reinelt Exp $ +/* $Id: processor.c,v 1.8 2000/08/10 09:44:09 reinelt Exp $   *   * main data processing   * @@ -20,6 +20,11 @@   *   *   * $Log: processor.c,v $ + * Revision 1.8  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.7  2000/07/31 10:43:44  reinelt   *   * some changes to support kernel-2.4 (different layout of various files in /proc) @@ -431,12 +436,12 @@ void process_init (void)    load.overload=atof(cfg_get("overload")?:"2.0");    lcd_query (&rows, &cols, &xres, &yres, &supported_bars); -  debug ("%d rows, %d columns, %dx%d pixels\n", rows, cols, xres, yres); +  debug ("%d rows, %d columns, %dx%d pixels", rows, cols, xres, yres);    for (i=1; i<=rows; i++) {      char buffer[8], *p;      snprintf (buffer, sizeof(buffer), "Row%d", i);      p=cfg_get(buffer)?:""; -    debug ("%s: %s\n", buffer, p); +    debug ("%s: %s", buffer, p);      row[i]=strdup(parse(p, supported_bars, token_usage));    }  } @@ -1,4 +1,4 @@ -/* $Id: system.c,v 1.15 2000/08/09 11:03:07 reinelt Exp $ +/* $Id: system.c,v 1.16 2000/08/10 09:44:09 reinelt Exp $   *   * system status retreivement   * @@ -20,6 +20,11 @@   *   *   * $Log: system.c,v $ + * Revision 1.16  2000/08/10 09:44:09  reinelt + * + * new debugging scheme: error(), info(), debug() + * uses syslog if in daemon mode + *   * Revision 1.15  2000/08/09 11:03:07  reinelt   *   * fixed a bug in system.c where the format of /proc/net/dev was not correctly @@ -172,11 +177,11 @@ static int parse_meminfo (char *tag, char *buffer)    p=strstr(buffer, tag);    if (p==NULL) { -    fprintf (stderr, "parse(/proc/meminfo) failed: no '%s' line\n", tag); +    error ("parse(/proc/meminfo) failed: no '%s' line", tag);      return -1;    }    if (sscanf(p+strlen(tag), "%lu", &val)<1) { -    fprintf (stderr, "scanf(/proc/meminfo) failed\n"); +    error ("scanf(/proc/meminfo) failed");      return -1;    }    return val; @@ -189,10 +194,10 @@ char *System(void)    if (*buffer=='\0') {      if (uname(&ubuf)==-1) { -      perror ("uname() failed"); +      error ("uname() failed: %s", strerror(errno));        strcpy (buffer, "unknown");      } else { -      debug ("uname(sysname)=%s\n", ubuf.sysname); +      debug ("uname(sysname)=%s", ubuf.sysname);        strncpy (buffer, ubuf.sysname, sizeof(buffer));      }    } @@ -206,10 +211,10 @@ char *Release(void)    if (*buffer=='\0') {      if (uname(&ubuf)==-1) { -      perror ("uname() failed"); +      error ("uname() failed: %s", strerror(errno));        strcpy (buffer, "unknown");      } else { -      debug ("uname(release)=%s\n", ubuf.release); +      debug ("uname(release)=%s", ubuf.release);        strncpy (buffer, ubuf.release, sizeof(buffer));      }    } @@ -223,10 +228,10 @@ char *Processor(void)    if (*buffer=='\0') {      if (uname(&ubuf)==-1) { -      perror ("uname() failed"); +      error ("uname() failed: %s", strerror(errno));        strcpy (buffer, "unknown");      } else { -      debug ("uname(machine)=%s\n", ubuf.machine); +      debug ("uname(machine)=%s", ubuf.machine);        strncpy (buffer, ubuf.machine, sizeof(buffer));      }    } @@ -244,13 +249,13 @@ double BogoMips (void)      char *p;      int fd=open("/proc/cpuinfo", O_RDONLY);      if (fd==-1) { -      perror ("open(/proc/cpuinfo) failed"); +      error ("open(/proc/cpuinfo) failed: %s", strerror(errno));        val=-1;        return -1;      } -    debug ("open(proc/cpuinfo)=%d\n", fd); +    debug ("open(proc/cpuinfo)=%d", fd);      if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -      perror ("read(/proc/cpuinfo) failed"); +      error ("read(/proc/cpuinfo) failed: %s", strerror(errno));        close (fd);        val=-1;        return -1; @@ -258,16 +263,16 @@ double BogoMips (void)      close (fd);      p=strstr(buffer, "bogomips");      if (p==NULL) { -      fprintf (stderr, "parse(/proc/cpuinfo) failed: no 'bogomips' line\n"); +      error ("parse(/proc/cpuinfo) failed: no 'bogomips' line");        val=-1;        return -1;      }      if (sscanf(p+8, " : %lf", &val)<1) { -      fprintf (stderr, "scanf(/proc/cpuinfo) failed\n"); +      error ("scanf(/proc/cpuinfo) failed");        val=-1;        return -1;      } -    debug ("BogoMips=%f\n", val); +    debug ("BogoMips=%f", val);    }    return val;  } @@ -279,10 +284,10 @@ int Memory(void)    if (value==-1) {      if (stat("/proc/kcore", &buf)==-1) { -      perror ("stat(/proc/kcore) failed"); +      error ("stat(/proc/kcore) failed: %s", strerror(errno));        value=0;      } else { -      debug ("sizeof(/proc/kcore)=%ld bytes\n", buf.st_size); +      debug ("sizeof(/proc/kcore)=%ld bytes", buf.st_size);        value=buf.st_size>>20;      }    } @@ -314,19 +319,19 @@ int Ram (int *total, int *free, int *shared, int *buffered, int *cached)    if (fd==-2) {      fd = open("/proc/meminfo", O_RDONLY | O_NDELAY);      if (fd==-1) { -      perror ("open(/proc/meminfo) failed"); +      error ("open(/proc/meminfo) failed: %s", strerror(errno));        return -1;      } -    debug ("open(/proc/meminfo)=%d\n", fd); +    debug ("open(/proc/meminfo)=%d", fd);    }    if (lseek(fd, 0L, SEEK_SET)!=0) { -    perror ("lseek(/proc/meminfo) failed"); +    error ("lseek(/proc/meminfo) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -    perror ("read(/proc/meminfo) failed"); +    error ("read(/proc/meminfo) failed: %s", strerror(errno));      fd=-1;      return -1;    } @@ -383,26 +388,26 @@ int Load (double *load1, double *load2, double *load3)    if (fd==-2) {      fd=open("/proc/loadavg", O_RDONLY);      if (fd==-1) { -      perror ("open(/proc/loadavg) failed"); +      error ("open(/proc/loadavg) failed: %s", strerror(errno));        return -1;      } -    debug ("open(/proc/loadavg)=%d\n", fd); +    debug ("open(/proc/loadavg)=%d", fd);    }    if (lseek(fd, 0L, SEEK_SET)!=0) { -    perror("lseek(/proc/loadavg) failed"); +    error("lseek(/proc/loadavg) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -    perror("read(/proc/loadavg) failed"); +    error("read(/proc/loadavg) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (sscanf(buffer, "%lf %lf %lf", &val1, &val2, &val3)<3) { -    fprintf(stderr, "scanf(/proc/loadavg) failed\n"); +    error ("scanf(/proc/loadavg) failed");      fd=-1;      return -1;    } @@ -431,25 +436,25 @@ int Busy (double *user, double *nice, double *system, double *idle)    if (fd==-2) {      fd=open("/proc/stat", O_RDONLY);      if (fd==-1) { -      perror ("open(proc/stat) failed"); +      error ("open(proc/stat) failed: %s", strerror(errno));        return -1;      } -    debug ("open (/proc/stat)=%d\n", fd); +    debug ("open (/proc/stat)=%d", fd);    }    if (lseek(fd, 0L, SEEK_SET)!=0) { -    perror ("lseek(/proc/stat) failed"); +    error ("lseek(/proc/stat) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -    perror ("read(/proc/stat) failed"); +    error ("read(/proc/stat) failed: %s", strerror(errno));      fd=-1;      return -1;    } -  if (sscanf(buffer, "%*s %lu %lu %lu %lu\n", &v1, &v2, &v3, &v4)<4) { -    fprintf (stderr, "scanf(/proc/stat) failed\n"); +  if (sscanf(buffer, "%*s %lu %lu %lu %lu", &v1, &v2, &v3, &v4)<4) { +    error ("scanf(/proc/stat) failed");      fd=-1;      return -1;    } @@ -482,19 +487,19 @@ int Disk (int *r, int *w)    if (fd==-2) {      fd = open("/proc/stat", O_RDONLY | O_NDELAY);      if (fd==-1) { -      perror ("open(/proc/stat) failed"); +      error ("open(/proc/stat) failed: %s", strerror(errno));        return -1;      } -    debug ("open (/proc/stat)=%d\n", fd); +    debug ("open (/proc/stat)=%d", fd);    }    if (lseek(fd, 0L, SEEK_SET)!=0) { -    perror ("lseek(/proc/stat) failed"); +    error ("lseek(/proc/stat) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -    perror ("read(/proc/stat) failed"); +    error ("read(/proc/stat) failed: %s", strerror(errno));      fd=-1;      return -1;    } @@ -523,23 +528,23 @@ int Disk (int *r, int *w)      unsigned long w1, w2, w3, w4;      p=strstr(buffer, "disk_rblk");      if (p==NULL) { -      fprintf (stderr, "parse(/proc/stat) failed: neither 'disk_io' nor 'disk_rblk' found\n"); +      error ("parse(/proc/stat) failed: neither 'disk_io' nor 'disk_rblk' found");        fd=-1;        return -1;      } -    if (sscanf(p+9, "%lu %lu %lu %lu\n", &r1, &r2, &r3, &r4)<4) { -      fprintf (stderr, "scanf(/proc/stat) failed\n"); +    if (sscanf(p+9, "%lu %lu %lu %lu", &r1, &r2, &r3, &r4)<4) { +      error ("scanf(/proc/stat) failed");        fd=-1;        return -1;      }      p=strstr(buffer, "disk_wblk");      if (p==NULL) { -      fprintf (stderr, "parse(/proc/stat) failed: no 'disk_wblk' line\n"); +      error ("parse(/proc/stat) failed: no 'disk_wblk' line");        fd=-1;        return -1;      } -    if (sscanf(p+9, "%lu %lu %lu %lu\n", &w1, &w2, &w3, &w4)<4) { -      fprintf (stderr, "scanf(/proc/stat) failed\n"); +    if (sscanf(p+9, "%lu %lu %lu %lu", &w1, &w2, &w3, &w4)<4) { +      error ("scanf(/proc/stat) failed");        fd=-1;        return -1;      } @@ -567,36 +572,36 @@ int Net (int *rx, int *tx, int *bytes)    if (fd==-2) {      struct utsname ubuf;      if (uname(&ubuf)==-1) { -      perror ("uname() failed"); +      error ("uname() failed: %s", strerror(errno));        fd=-1;        return -1;      }      if (strncmp(ubuf.release,"2.0.",4)==0) { -      debug ("using old /proc/net/dev format\n"); +      debug ("using old /proc/net/dev format");        proc_net_dev_fmt=" eth%*d: %ld %*d %*d %*d %*d %ld";        proc_net_dev_bytes=0;      } else { -      debug ("using new /proc/net/dev format\n"); +      debug ("using new /proc/net/dev format");        proc_net_dev_fmt=" eth%*d: %ld %*d %*d %*d %*d %*d %*d %*d %ld";        proc_net_dev_bytes=1;      }      fd = open("/proc/net/dev", O_RDONLY | O_NDELAY);      if (fd==-1) { -      perror ("open(/proc/net/dev) failed"); +      error ("open(/proc/net/dev) failed: %s", strerror(errno));        return -1;      } -    debug ("open (/proc/net/dev)=%d\n", fd); +    debug ("open (/proc/net/dev)=%d", fd);    }    if (lseek(fd, 0L, SEEK_SET)!=0) { -    perror ("lseek(/proc/net/dev) failed"); +    error ("lseek(/proc/net/dev) failed: %s", strerror(errno));      fd=-1;      return -1;    }    if (read (fd, &buffer, sizeof(buffer)-1)==-1) { -    perror ("read(/proc/net/dev) failed"); +    error ("read(/proc/net/dev) failed: %s", strerror(errno));      fd=-1;      return -1;    } @@ -633,10 +638,10 @@ int PPP (int unit, int *rx, int *tx)    if (fd==-2) {      fd = socket(AF_INET, SOCK_DGRAM, 0);      if (fd==-1) { -      perror ("socket() failed"); +      error ("socket() failed: %s", strerror(errno));        return -1;      } -    debug ("socket()=%d\n", fd); +    debug ("socket()=%d", fd);    }    memset (&req, 0, sizeof (req)); @@ -681,7 +686,7 @@ int Sensor (int index, double *val, double *min, double *max)      snprintf(buffer, 32, "Sensor%d", index);      sensor[index]=cfg_get(buffer);      if (sensor[index]==NULL || *sensor[index]=='\0') { -      fprintf (stderr, "%s: no entry for '%s'\n", cfg_file(), buffer); +      error ("%s: no entry for '%s'", cfg_file(), buffer);        fd[index]=-1;        return -1;      } @@ -693,26 +698,26 @@ int Sensor (int index, double *val, double *min, double *max)      fd[index]=open(sensor[index], O_RDONLY);      if (fd[index]==-1) { -      fprintf (stderr, "open(%s) failed: %s\n", sensor[index], strerror(errno)); +      error ("open(%s) failed: %s", sensor[index], strerror(errno));        return -1;      } -    debug ("open (%s)=%d\n", sensor[index], fd[index]); +    debug ("open (%s)=%d", sensor[index], fd[index]);    }    if (lseek(fd[index], 0L, SEEK_SET)!=0) { -    fprintf (stderr, "lseek(%s) failed: %s\n", sensor[index], strerror(errno)); +    error ("lseek(%s) failed: %s", sensor[index], strerror(errno));      fd[index]=-1;      return -1;    }    if (read (fd[index], &buffer, sizeof(buffer)-1)==-1) { -    fprintf (stderr, "read(%s) failed: %s\n", sensor[index], strerror(errno)); +    error ("read(%s) failed: %s", sensor[index], strerror(errno));      fd[index]=-1;      return -1;    }    if (sscanf(buffer, "%*f %*f %lf", &value)<1) { -    fprintf (stderr, "scanf(%s) failed\n", sensor[index]); +    error ("scanf(%s) failed", sensor[index]);      fd[index]=-1;      return -1;    } | 
