summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--src/expand.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d1fd04..ad80806 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
 2004-08-21  Herbert Xu <herbert@gondor.apana.org.au>
 
 	* Size optimisations around varvalue() in src/expand.c.
+	* Fixed signed char promotion in src/expand.c.
 
 2004-08-18  Herbert Xu <herbert@gondor.apana.org.au>
 
diff --git a/src/expand.c b/src/expand.c
index 7d7f815..1debde9 100644
--- a/src/expand.c
+++ b/src/expand.c
@@ -131,7 +131,7 @@ STATIC void expbackq(union node *, int, int);
 STATIC const char *subevalvar(char *, char *, int, int, int, int, int);
 STATIC char *evalvar(char *, int);
 STATIC size_t strtodest(const char *, const char *, int);
-STATIC void memtodest(const char *, size_t, const char *, int);
+STATIC void memtodest(const unsigned char *, size_t, const char *, int);
 STATIC ssize_t varvalue(char *, int, int);
 STATIC void recordregion(int, int, int);
 STATIC void removerecordregions(int); 
@@ -887,7 +887,7 @@ end:
  */
 
 STATIC void
-memtodest(const char *p, size_t len, const char *syntax, int quotes) {
+memtodest(const unsigned char *p, size_t len, const char *syntax, int quotes) {
 	char *q;
 
 	if (unlikely(!len))