From be52cc0eba0149beb088a03c2a9d1530971f911b Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Thu, 15 Jan 2004 11:42:22 -0500 Subject: [svn-r8067] *** empty log message *** --- tools/lib/h5tools_str.c | 25 +++++++++++++++++-------- tools/testfiles/tenum.ddl | 36 +++++++++++++++--------------------- tools/testfiles/tenum.h5 | Bin 1560 -> 2128 bytes tools/testfiles/tenum.h5.xml | 23 +++++++++++++---------- 4 files changed, 45 insertions(+), 39 deletions(-) diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c index b3ee8e3..0ed66b4 100644 --- a/tools/lib/h5tools_str.c +++ b/tools/lib/h5tools_str.c @@ -962,15 +962,24 @@ h5tools_escape(char *s/*in,out*/, size_t size, int escape_spaces) size_t n = strlen(s); const char *escape; char octal[8]; - + for (i = 0; i < n; i++) { switch (s[i]) { - case '"': + case '\'': + escape = "\\\'"; + break; + case '\"': escape = "\\\""; break; case '\\': escape = "\\\\"; break; + case '\?': + escape = "\\\?"; + break; + case '\a': + escape = "\\a"; + break; case '\b': escape = "\\b"; break; @@ -986,11 +995,11 @@ h5tools_escape(char *s/*in,out*/, size_t size, int escape_spaces) case '\t': escape = "\\t"; break; - case ' ': - escape = escape_spaces ? "\\ " : NULL; + case '\v': + escape = "\\v"; break; default: - if (!isprint((int)*s)) { + if (!isprint(s[i])) { sprintf(octal, "\\%03o", (unsigned char)s[i]); escape = octal; } else { @@ -1007,10 +1016,10 @@ h5tools_escape(char *s/*in,out*/, size_t size, int escape_spaces) /*would overflow*/ return NULL; - memmove(s + i + esc_size, s + i, (n - i) + 1); /*make room*/ + memmove(s + i + esc_size, s + i + 1, n - i); /*make room*/ memcpy(s + i, escape, esc_size); /*insert*/ - n += esc_size; - i += esc_size - 1; + n += esc_size - 1; /* adjust total string size */ + i += esc_size; /* adjust string position */ } } diff --git a/tools/testfiles/tenum.ddl b/tools/testfiles/tenum.ddl index fdd3a60..496647d 100644 --- a/tools/testfiles/tenum.ddl +++ b/tools/testfiles/tenum.ddl @@ -3,30 +3,24 @@ Expected output for 'h5dump tenum.h5' ############################# HDF5 "tenum.h5" { GROUP "/" { - DATATYPE "enum normal" { - H5T_ENUM - { H5T_STD_I32BE; - "RED" 0; - "GREEN" 1; - "BLUE" 2; - "WHITE" 3; - "BLACK" 4; + DATATYPE "enum normal" H5T_ENUM { + H5T_STD_I32LE; + "RED" 0; + "GREEN +green" 1; + "BLUE blue" 2; + "WHITE "white"" 3; + "BLACK 'black'" 4; }; - } + DATASET "table" { - DATATYPE { H5T_ENUM - { H5T_STD_I32BE; - "RED" 0; - "GREEN" 1; - "BLUE" 2; - "WHITE" 3; - "BLACK" 4; - } - } - DATASPACE { SIMPLE ( 20 ) / ( 20 ) } + DATATYPE "/enum normal" + DATASPACE SIMPLE { ( 20 ) / ( 20 ) } DATA { - RED, GREEN, BLUE, GREEN, WHITE, WHITE, BLACK, GREEN, BLUE, RED, RED, - BLUE, GREEN, BLACK, WHITE, RED, WHITE, GREEN, GREEN, BLUE + RED, GREEN\ngreen, BLUE blue, GREEN\ngreen, WHITE \"white\", + WHITE \"white\", BLACK \'black\', GREEN\ngreen, BLUE blue, RED, RED, + BLUE blue, GREEN\ngreen, BLACK \'black\', WHITE \"white\", RED, + WHITE \"white\", GREEN\ngreen, GREEN\ngreen, BLUE blue } } } diff --git a/tools/testfiles/tenum.h5 b/tools/testfiles/tenum.h5 index 89a3379..667be98 100644 Binary files a/tools/testfiles/tenum.h5 and b/tools/testfiles/tenum.h5 differ diff --git a/tools/testfiles/tenum.h5.xml b/tools/testfiles/tenum.h5.xml index 0d6c3dd..231d9cd 100644 --- a/tools/testfiles/tenum.h5.xml +++ b/tools/testfiles/tenum.h5.xml @@ -3,14 +3,14 @@ Expected output for 'h5dump --xml tenum.h5' ############################# - - + + - + @@ -21,24 +21,25 @@ Expected output for 'h5dump --xml tenum.h5' GREEN +green 1 - BLUE + BLUE blue 2 - WHITE + WHITE "white" 3 - BLACK + BLACK 'black' 4 @@ -47,7 +48,7 @@ Expected output for 'h5dump --xml tenum.h5' - + @@ -61,11 +62,13 @@ Expected output for 'h5dump --xml tenum.h5' - + - RED GREEN BLUE GREEN WHITE WHITE BLACK GREEN BLUE RED RED BLUE GREEN - BLACK WHITE RED WHITE GREEN GREEN BLUE + RED GREEN\ngreen BLUE blue GREEN\ngreen WHITE \"white\" WHITE \"white\" + BLACK \'black\' GREEN\ngreen BLUE blue RED RED BLUE blue GREEN\ngreen + BLACK \'black\' WHITE \"white\" RED WHITE \"white\" GREEN\ngreen + GREEN\ngreen BLUE blue -- cgit v0.12