diff options
| author | harbaum <> | 2006-01-28 15:36:18 +0000 | 
|---|---|---|
| committer | harbaum <> | 2006-01-28 15:36:18 +0000 | 
| commit | 0a50da0d92193cfbd2a555f5bc57ebc87eaae451 (patch) | |
| tree | 063d68e6e836e3efad6bcd67326f998828562829 | |
| parent | 5f453b161a0cb67b7cf507e28349c7257a477063 (diff) | |
| download | lcd4linux-0a50da0d92193cfbd2a555f5bc57ebc87eaae451.tar.gz | |
[lcd4linux @ 2006-01-28 15:36:17 by harbaum]
Fix: string termination bug in eval()
| -rw-r--r-- | drv_LCD2USB.c | 9 | ||||
| -rw-r--r-- | evaluator.c | 10 | 
2 files changed, 14 insertions, 5 deletions
| diff --git a/drv_LCD2USB.c b/drv_LCD2USB.c index adaecfe..31c6645 100644 --- a/drv_LCD2USB.c +++ b/drv_LCD2USB.c @@ -1,4 +1,4 @@ -/* $Id: drv_LCD2USB.c,v 1.1 2006/01/26 19:26:27 harbaum Exp $ +/* $Id: drv_LCD2USB.c,v 1.2 2006/01/28 15:36:17 harbaum Exp $   *   * driver for USB2LCD display interface   * see http://www.harbaum.org/till/lcd2usb for schematics @@ -24,6 +24,9 @@   *   *    * $Log: drv_LCD2USB.c,v $ + * Revision 1.2  2006/01/28 15:36:17  harbaum + * Fix: string termination bug in eval() + *   * Revision 1.1  2006/01/26 19:26:27  harbaum   * Added LCD2USB support   * @@ -163,7 +166,7 @@ static int drv_L2U_send(int request, int value, int index)  }  /* to increase performance, a little buffer is being used to */ -/* collect command bytes of the same type before transmissing them */ +/* collect command bytes of the same type before transmitting them */  #define BUFFER_MAX_CMD 4	/* current protocol supports up to 4 bytes */  int buffer_current_type = -1;	/* nothing in buffer yet */  int buffer_current_fill = 0;	/* -"- */ @@ -236,6 +239,8 @@ static void drv_L2U_write(const int row, const int col, const char *data, int le  {      int pos; +//    printf("write %d/%d %s(%d)\n", row, col, data, len); +      /* 16x4 Displays use a slightly different layout */      if (DCOLS == 16 && DROWS == 4) {  	pos = (row % 2) * 64 + (row / 2) * 16 + col; diff --git a/evaluator.c b/evaluator.c index e4493b3..d4b4671 100644 --- a/evaluator.c +++ b/evaluator.c @@ -1,4 +1,4 @@ -/* $Id: evaluator.c,v 1.26 2006/01/21 09:40:20 reinelt Exp $ +/* $Id: evaluator.c,v 1.27 2006/01/28 15:36:18 harbaum Exp $   *   * expression evaluation   * @@ -23,6 +23,9 @@   *   *   * $Log: evaluator.c,v $ + * Revision 1.27  2006/01/28 15:36:18  harbaum + * Fix: string termination bug in eval() + *   * Revision 1.26  2006/01/21 09:40:20  reinelt   * Big Memory Leak in Evaluator fixed (thanks to Oliver Gehrke)   * @@ -1306,9 +1309,10 @@ int Eval(void *tree, RESULT * result)      result->length = Tree->Result->length;      if (result->length >= 0) {  	result->string = malloc(result->length+1); -	if (Tree->Result->string != NULL) +	if (Tree->Result->string != NULL) {  	    strncpy(result->string, Tree->Result->string, result->length); -	else +	    result->string[result->length] = 0; +	} else  	    result->string[0] = '\0';      } else {  	result->string = NULL; | 
