diff --git a/VERSION b/VERSION index 19b513e..24f3d6d 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -2022 February 18 2022 +2022 February 22 2022 diff --git a/doc/CHANGES b/doc/CHANGES index 5031530..490757f 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -14617,4 +14617,48 @@ Fix: swapped p2 and p1 in *transpose = p2 - p1; in parsesound() in parseabc.c +February 21 2022 +abc2abc mangles text. eg +input: + +X:1 +T: Text mangled by abc2abc +Q:1/2=120 +M:4/4 +L:1/8 +K:G bass octave=-2 +%%begintext center +this text is mangled +%%endtext +%% +!f! g2 z d g2 z d | gdgb d'2 z2 | c'2 z a c'2 z a | cafa d2 z2 | gggg gggg | [I:repeat] | + +abc2abc text.abc -t 2 >output.abc + +output: + +X:1 +T:Text mangled by abc2abc +Q:1/2=120 +M:4/4 +L:1/8 +K:Amaj clef=bass octave=-2 +%%begintext center +this tfxt is mbnalfe +%%endtext +%% +!f! a2 z e a2 z e | aeac' e'2 z2 | d'2 z b d'2 z b | dbgb e2 z2 | aaaa aaaa | [I:repeat] | + +Analysis: +Parseline (line) in parseabc.c checks the line for %%begintext using strcmp. +Unfortunately, it does not find a match because the line also contains +the word 'center'. + +Fix: replaced +if (strcmp(line,"%%begintext") == 0) { +with +if (strstr(line,"%%begintext") != NULL) { +which returns the pointer to %%begintext in the line. + + diff --git a/doc/readme.txt b/doc/readme.txt index bda655b..5c921ab 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -1,9 +1,9 @@ abcMIDI : abc <-> MIDI conversion utilities midi2abc version 3.50 February 12 2022 -abc2midi version 4.68 February 18 2022 -abc2abc version 2.15 May 25 2021 -yaps version 1.87 May 25 2021 +abc2midi version 4.69 February 22 2022 +abc2abc version 2.16 February 22 2022 +yaps version 1.88 February 22 2022 abcmatch version 1.80 November 25 2021 midicopy version 1.37 October 10 2020 diff --git a/parseabc.c b/parseabc.c index 59554cf..5ec98aa 100644 --- a/parseabc.c +++ b/parseabc.c @@ -3353,11 +3353,11 @@ parseline (line) { char *p, *q; - /* [SS] 2020-01-03 */ - if (strcmp(line,"%%begintext") == 0) { + /* [SS] 2020-01-03 2021-02-21 */ + if (strstr(line,"%%begintext") != NULL) { ignore_line = 1; } - if (strcmp(line,"%%endtext") == 0) { + if (strstr(line,"%%endtext") != NULL) { ignore_line = 0; } /* [SS] 2021-05-09 */ diff --git a/store.c b/store.c index dbcfaca..c8a58ea 100644 --- a/store.c +++ b/store.c @@ -186,7 +186,7 @@ int main() */ -#define VERSION "4.68 February 18 2022 abc2midi" +#define VERSION "4.70 February 22 2022 abc2midi" /* enables reading V: indication in header */ #define XTEN1 1 diff --git a/toabc.c b/toabc.c index 56eab22..7586d09 100644 --- a/toabc.c +++ b/toabc.c @@ -21,7 +21,7 @@ /* back-end for outputting (possibly modified) abc */ -#define VERSION "2.15 May 25 2021 abc2abc" +#define VERSION "2.16 February 21 2022 abc2abc" /* for Microsoft Visual C++ 6.0 or higher */ #ifdef _MSC_VER diff --git a/yapstree.c b/yapstree.c index cb49711..f2e1066 100644 --- a/yapstree.c +++ b/yapstree.c @@ -22,7 +22,7 @@ /* yapstree.c - back-end for abc parser. */ /* generates a data structure suitable for typeset music */ -#define VERSION "1.87 May 25 2021 yaps" +#define VERSION "1.88 February 22 2022 yaps" #include #ifdef USE_INDEX #define strchr index