diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2000-08-10 09:44:09 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2000-08-10 09:44:09 +0000 |
commit | 994c3f1ff0c2b7ab62cfa413827ab17667805aa5 (patch) | |
tree | 58f94e3a69cee7187c02a77f19890b99e0910cfc | |
parent | 0cb72bf49d0a0decda8285f8fa5a559bffa9e118 (diff) | |
download | lcd4linux-994c3f1ff0c2b7ab62cfa413827ab17667805aa5.tar.gz |
[lcd4linux @ 2000-08-10 09:44:09 by reinelt]
new debugging scheme: error(), info(), debug()
uses syslog if in daemon mode
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@64 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
-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; } |