aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgermeier <germeier>2002-10-17 22:49:26 +0000
committergermeier <germeier>2002-10-17 22:49:26 +0000
commit723b01c9719b896f35df94bea44fb186d7f9e408 (patch)
tree998d7394ea1f4591ea3bb5801f6b38f6b6d0ee0f
parent265351f4c765782ee942d88c5ee6e9abbcc4c172 (diff)
downloadmpiosh-723b01c9719b896f35df94bea44fb186d7f9e408.tar.gz
mpiosh-723b01c9719b896f35df94bea44fb186d7f9e408.tar.bz2
mpiosh-723b01c9719b896f35df94bea44fb186d7f9e408.zip
another fix for the 8.3 handling
-rw-r--r--ChangeLog5
-rw-r--r--libmpio/directory.c16
2 files changed, 16 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 96bc0b3..8f3927b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-10-18 Markus Germeier <mager@tzi.de>
+
+ * libmpio/directory.c (mpio_dentry_get_real):
+ another fix for the 8.3 handling needed for the config file
+
2002-10-13 Markus Germeier <mager@tzi.de>
* mpiosh/callback.c (mpiosh_cmd_dump): fixed compile and
diff --git a/libmpio/directory.c b/libmpio/directory.c
index ea51ac3..d3cd677 100644
--- a/libmpio/directory.c
+++ b/libmpio/directory.c
@@ -1,6 +1,6 @@
/*
*
- * $Id: directory.c,v 1.7 2002/09/24 15:38:03 germeier Exp $
+ * $Id: directory.c,v 1.8 2002/10/17 22:49:27 germeier Exp $
*
* Library for USB MPIO-*
*
@@ -213,7 +213,7 @@ mpio_dentry_get_real(mpio_t *m, mpio_mem_t mem, BYTE *buffer,
BYTE *uc;
BYTE *fname = 0;
iconv_t ic;
- int dsize;
+ int dsize, i;
if (buffer == NULL)
return -1;
@@ -269,9 +269,15 @@ mpio_dentry_get_real(mpio_t *m, mpio_mem_t mem, BYTE *buffer,
free(unicode);
memcpy(filename_8_3, dentry->name, 8);
- filename_8_3[0x08] = '.';
- memcpy(filename_8_3 + 0x09, dentry->ext, 3);
- filename_8_3[0x0c] = 0;
+ i=8;
+ while(filename_8_3[i-1]==' ')
+ i--;
+ filename_8_3[i++] = '.';
+ memcpy(filename_8_3 + i, dentry->ext, 3);
+ i+=3;
+ while(filename_8_3[i-1]==' ')
+ i--;
+ filename_8_3[i] = 0;
hexdumpn(4, filename_8_3, 13);
if (!vfat)