debian/0000775000000000000000000000000012257202650007171 5ustar debian/dirs0000664000000000000000000000001010322246012010033 0ustar usr/bin debian/source/0000775000000000000000000000000012251571464010477 5ustar debian/source/format0000664000000000000000000000001412251571464011705 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000347212251605443011133 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: msort Source: http://www.billposer.org/Software/msort.html Files: * Copyright: 1993-2010 William J. Poser > License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: debian/* Copyright: 2005-2013 Bartosz Fenski License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". debian/msort-gui.manpages0000664000000000000000000000002312251615733012633 0ustar debian/msort-gui.1 debian/changelog0000664000000000000000000001353512257202650011052 0ustar msort (8.53-2build1) trusty; urgency=medium * No change rebuild against libicu52 -- Dimitri John Ledkov Fri, 27 Dec 2013 04:44:24 +0000 msort (8.53-2) unstable; urgency=low * Uses -indep overrides to fix FTBFS on all archs (Closes: #731935) -- Bartosz Fenski Wed, 11 Dec 2013 20:07:43 +0100 msort (8.53-1) unstable; urgency=low * The Akamai Technologies paid volunteer days release. * New upstream release. * ACK previous NMUs, thanks! * Switched to new source format. * Switched to new copyright format. * Moved patches to new quilt format and described them. * Bumped Standards-Version (no changes needed) * Has correct tcl/tk dependencies (Closes: #545135) * Doesn't segfault with certain input (Closes: #630485) -- Bartosz Fenski Tue, 10 Dec 2013 16:39:44 +0100 msort (8.52-1.3) unstable; urgency=low * Non-maintainer upload. * Add -licuuc to LIBS to fix FTBFS with --no-copy-dt-needed-entries (closes: #555755). Thanks to Peter Fritzsche for the bug report. * Remove stray config.log from the source package. -- Jakub Wilk Mon, 29 Aug 2011 21:24:24 +0200 msort (8.52-1.2) unstable; urgency=medium * Non-maintainer upload. * Cherry-pick upstream changes to fix compatibility with current libtre (Closes: #560575, #566860) -- Moritz Muehlenhoff Sat, 30 Jan 2010 13:37:25 +0100 msort (8.52-1.1) unstable; urgency=low * Non-maintainer upload. * Switched to Tcl/Tk 8.5 to match changes in itcl3 and itk3 packages. -- Sergei Golovan Wed, 02 Sep 2009 19:18:39 +0400 msort (8.52-1) unstable; urgency=low * New upstream version. -- Bartosz Fenski Mon, 02 Feb 2009 22:39:02 +0100 msort (8.44-1) unstable; urgency=low * New upstream version. * Bumped Standards-Version to 3.7.3 (no changes needed). * Moved URL to homepage header. * Rewritten debian/copyright to make lintian happy. * Adapted menu entry to new policy. * Doesn't ignore clean target anymore. -- Bartosz Fenski Wed, 23 Apr 2008 12:31:08 +0200 msort (8.42-1) unstable; urgency=low * New upstream version. - fixes sorting by date (Closes: #429759) * Depends on libuninum, libgmp and libicu. -- Bartosz Fenski Tue, 30 Oct 2007 08:48:01 +0100 msort (8.29-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Sun, 5 Nov 2006 14:38:20 +0100 msort (8.28-1) unstable; urgency=low * New upstream release. - fixes segfault on numeric sort (Closes: #383230) - removes superflous free() call (Closes: #383232) * Bumped Standards-Version to 3.7.2 (no changes needed). -- Bartosz Fenski Thu, 7 Sep 2006 08:49:00 +0200 msort (8.26-1) unstable; urgency=low * New upstream version. -- Bartosz Fenski Sat, 27 May 2006 15:14:22 +0200 msort (8.24-1) unstable; urgency=low * New upstream version. -- Bartosz Fenski Tue, 9 May 2006 20:14:00 +0200 msort (8.23.2-1) unstable; urgency=low * New upstream version. * Description has been updated to show new features. * Bumped Standards-Version to 3.7.2 version (no changes needed). -- Bartosz Fenski Sat, 6 May 2006 12:16:03 +0200 msort (8.20-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 11 Apr 2006 13:31:36 +0200 msort (8.19-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 21 Mar 2006 15:09:14 +0100 msort (8.18-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Thu, 16 Mar 2006 13:44:40 +0100 msort (8.16-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Wed, 22 Feb 2006 13:22:28 +0100 msort (8.15-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 14 Feb 2006 16:35:17 +0100 msort (8.13-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 7 Feb 2006 12:49:22 +0100 msort (8.12-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 24 Jan 2006 11:57:13 +0100 msort (8.11-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Wed, 18 Jan 2006 00:25:34 +0100 msort (8.10-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Sun, 30 Oct 2005 12:09:15 +0100 msort (8.9-1) unstable; urgency=low * New upstream release. * Some fixes in rules file, since upstream changed paths. -- Bartosz Fenski Tue, 18 Oct 2005 11:43:41 +0200 msort (8.8-2) unstable; urgency=low * Added missing iwidgets dependency. -- Bartosz Fenski Mon, 26 Sep 2005 16:41:07 +0200 msort (8.8-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Mon, 26 Sep 2005 12:35:04 +0200 msort (8.7-1) unstable; urgency=low * New upstream release. -- Bartosz Fenski Tue, 6 Sep 2005 19:42:07 +0200 msort (8.6-1) unstable; urgency=low * New upstream release. Some modifications in debian/* files since upstream changed directory structure. -- Bartosz Fenski Thu, 18 Aug 2005 12:28:57 +0200 msort (8.5-1) unstable; urgency=low * New upstream release. * Changed homepage address (control/copyright files). -- Bartosz Fenski Wed, 10 Aug 2005 10:34:52 +0200 msort (8.4-2) unstable; urgency=low * Fixed "needs" entry in menu file. * Fixed list of features to make lintian happy. -- Bartosz Fenski Thu, 4 Aug 2005 14:10:13 +0200 msort (8.4-1) unstable; urgency=low * Initial release (Closes: #321022) -- Bartosz Fenski Tue, 2 Aug 2005 23:21:44 +0200 debian/control0000664000000000000000000000743312257202650010603 0ustar Source: msort Section: utils Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Bartosz Fenski Build-Depends: debhelper (>= 9.0.0), libtre-dev, libuninum-dev, libgmp3-dev, libicu-dev, autotools-dev Standards-Version: 3.9.4 Homepage: http://www.billposer.org/Software/msort.html Package: msort Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: msort-gui Description: utility for sorting records in complex ways msort is a program for sorting files in sophisticated ways. It was originally developed for alphabetizing dictionaries of "exotic" languages, for which it has been extensively used, but is useful for many other purposes. msort differs from typical sort utilities in providing greater flexibility in parsing the input into records and identifying key fields and greater control over the sort order. Its main distinctive features are: . o Msort can be used as a command-line program or via a graphical user interface that is helpful not only to those who find a complicated command line difficult to deal with but also to those unfamiliar with the finer points of sorting. o Records need not be single lines of text but may be delimited in a number of ways. o Key fields may be selected by position in the record (counting from the beginning or the end), by character ranges (e.g. the key consists of the fourth through eighth characters), or by matching a regular expression to a tag. o For each key an arbitrary sort order may be specified. Msort also understands locales. o For each key an effectively unlimited number of multigraphs (sequences of characters to be treated as a single unit for purposes of sorting, "collating elements" in Unicode parlance) of effectively unlimited length may be defined. o In addition to the usual lexicographic and numerical comparisons, msort supports hybrid lexicographic-numeric comparison (for things like filenames and section headings, so that, e.g., 2a will precede 10b), random comparison, and ordering by angle, date, time, month name, domain name, email address, ISO8601 date-time, and string length. o Numbers may be in just about any known number system, e.g. Chinese or Devanagari. o For each key a distinct set of characters may be excluded from consideration when sorting in any combination of initial, final, and medial position in the key field. o For each key a distinct set of regular expression substitutions may be defined. These provide the means to make names like McCarthy sort before MacCawley, as if McCarthy were spelled MacCarthy as well as to handle the rare cases in which a single character is treated for purposes of sorting as a sequence, such as German "eszet" sign, which is traditionally sorted as if it were ss. o Lexicographic keys may be reversed, allowing the construction of reverse dictionaries. o Any or all keys may be optional. For optional keys, the user may specify how records missing the key field should compare to records in which the key field is present. o A choice of sorting algorithms with different properties is provided. . msort understands UTF-8 Unicode. Unicode may be used anywhere that text is entered: in the text to be sorted, in sort order and exclusion definitions, as a field or record separator, or as a field tag. Full Unicode case-folding is available. Package: msort-gui Architecture: all Depends: tk8.5, iwidgets4, msort, ${misc:Depends} Description: tcl/tk gui for msort utility msort-gui is a frontend for msort utility. It is helpful not only to those who find a complicated command line difficult to deal with but also to those unfamiliar with the finer points of sorting. debian/msort.manpages0000664000000000000000000000001012251616451012043 0ustar msort.1 debian/rules0000775000000000000000000000153412252134462010254 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This has to be exported to make some magic below work. export DH_OPTIONS %: dh $@ --with autotools-dev override_dh_auto_configure: dh_auto_configure -- --disable-utf8proc override_dh_install-indep: dh_install mv debian/msort-gui/usr/bin/msg debian/msort-gui/usr/bin/msort-gui debian/msort-gui.10000664000000000000000000000113410322246012011167 0ustar .TH MSORT-GUI "1" "3 August 2005" .SH NAME msort-gui \- frontend for msort utility .SH SYNOPSIS .B msort-gui .SH DESCRIPTION This manual page documents briefly the frontend for msort utility. It doesn't have any command line options, just run it and it'll appear on your screen. .br This manual page was written for the Debian distribution because the original program does not have a manual page. .PP .SH AUTHOR The pypanel is developed by William J. Poser . This manual page was written by Bartosz Fenski , for the Debian project (but may be used by others). debian/msort.install0000664000000000000000000000001712251615611011722 0ustar /usr/bin/msort debian/patches/0000775000000000000000000000000012251624634010624 5ustar debian/patches/licuuc0000664000000000000000000000150412251610076012026 0ustar Description: provides all needed libraries to linker binutils-gold uses --no-add-needed so it's needed to provide all libraries to linker Bug-Debian: http://bugs.debian.org/555755 --- msort-8.53.orig/Makefile.in +++ msort-8.53/Makefile.in @@ -40,7 +40,7 @@ bin_PROGRAMS = msort$(EXEEXT) @DEBUGBUILD_TRUE@am__append_1 = -DDEBUGBUILD @UTF8PROCOK_TRUE@am__append_2 = -lutf8proc @UTF8PROCOK_TRUE@am__append_3 = -DUSEUTF8PROC -@UTF8PROCOK_FALSE@am__append_4 = -licutu +@UTF8PROCOK_FALSE@am__append_4 = -licutu -licuuc @NOCOMPARISONCNT_TRUE@am__append_5 = -DNOCOMPARISONCNT @UNINUMOK_TRUE@am__append_6 = -DUSEUNINUMOK subdir = . --- msort-8.53.orig/Makefile.am +++ msort-8.53/Makefile.am @@ -22,7 +22,7 @@ if UTF8PROCOK LIBS+=-lutf8proc AM_CFLAGS += -DUSEUTF8PROC else -LIBS+=-licutu +LIBS+=-licutu -licuuc endif msg: msg.tcl debian/patches/path0000664000000000000000000007356012251612011011500 0ustar Description: fixes path to msort for regression tests Author: Bartosz Fenski Forwarded: not-yet --- msort-8.53.orig/RegressionTests/RunTests.sh +++ msort-8.53/RegressionTests/RunTests.sh @@ -1,44 +1,44 @@ #!/bin/bash #This tests comparison of angles -msort -j -q -l -w -c a < AngleTest01.data > AngleTest01.result +../msort -j -q -l -w -c a < AngleTest01.data > AngleTest01.result echo -n "AngleTest01 " >> TestResults; if cmp -s AngleTest01.result AngleTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests case-folding in the ASCII range -msort -j -q -l -w -C < CaseFoldingTest01.data > CaseFoldingTest01.result +../msort -j -q -l -w -C < CaseFoldingTest01.data > CaseFoldingTest01.result echo -n "CaseFoldingTest01 " >> TestResults; if cmp -s CaseFoldingTest01.result CaseFoldingTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests case-folding in the Armenian range -msort -j -q -l -w -C < CaseFoldingTest02.data > CaseFoldingTest02.result +../msort -j -q -l -w -C < CaseFoldingTest02.data > CaseFoldingTest02.result echo -n "CaseFoldingTest02 " >> TestResults; if cmp -s CaseFoldingTest02.result CaseFoldingTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -B -l -d \t -e 13,13 -c l -e 9,12 -c n < CharacterRangeTest01.data > CharacterRangeTest01.result +../msort -j -q -B -l -d \t -e 13,13 -c l -e 9,12 -c n < CharacterRangeTest01.data > CharacterRangeTest01.result echo -n "CharacterRangeTest01 " >> TestResults; if cmp -s CharacterRangeTest01.result CharacterRangeTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -B -l -d \t -e 9,12 -c n -e 13,13 -c l < CharacterRangeTest02.data > CharacterRangeTest02.result +../msort -j -q -B -l -d \t -e 9,12 -c n -e 13,13 -c l < CharacterRangeTest02.data > CharacterRangeTest02.result echo -n "CharacterRangeTest02 " >> TestResults; if cmp -s CharacterRangeTest02.result CharacterRangeTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -B -l -d \t -e 13,13 -c l -i -e 1,8 -c l < CharacterRangeTest03.data > CharacterRangeTest03.result +../msort -j -q -B -l -d \t -e 13,13 -c l -i -e 1,8 -c l < CharacterRangeTest03.data > CharacterRangeTest03.result echo -n "CharacterRangeTest03 " >> TestResults; if cmp -s CharacterRangeTest03.result CharacterRangeTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -I -B -l -d \t -e 13,13 -c l -i -e 1,8 -c l < CharacterRangeTest04.data > CharacterRangeTest04.result +../msort -j -q -I -B -l -d \t -e 13,13 -c l -i -e 1,8 -c l < CharacterRangeTest04.data > CharacterRangeTest04.result echo -n "CharacterRangeTest04 " >> TestResults; if cmp -s CharacterRangeTest04.result CharacterRangeTest04.norm then echo "PASSED" >> TestResults; @@ -46,11 +46,11 @@ else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m fi #This tests the check only option. echo -n "CheckOnlyTest01 " >> TestResults; -msort -j -q -l -w -c n -Q < CheckOnlyTest01A.data > CheckOnlyTest01A.result +../msort -j -q -l -w -c n -Q < CheckOnlyTest01A.data > CheckOnlyTest01A.result rstat1=$? cmp -s CheckOnlyTest01A.result CheckOnlyTest01.norm cstat1=$? -msort -j -q -l -w -c n -Q < CheckOnlyTest01B.data > CheckOnlyTest01B.result +../msort -j -q -l -w -c n -Q < CheckOnlyTest01B.data > CheckOnlyTest01B.result rstat2=$? cmp -s CheckOnlyTest01B.result CheckOnlyTest01.norm cstat2=$? @@ -59,35 +59,35 @@ then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests straight ASCII collating sequences. -msort -j -q -l -w -s CollatingSequenceTest01.ord < CollatingSequenceTest01.data > CollatingSequenceTest01.result +../msort -j -q -l -w -s CollatingSequenceTest01.ord < CollatingSequenceTest01.data > CollatingSequenceTest01.result echo -n "CollatingSequenceTest01 " >> TestResults; if cmp -s CollatingSequenceTest01.result CollatingSequenceTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests collating sequences containing non-ASCII characters. -msort -j -q -l -w -s CollatingSequenceTest02.ord < CollatingSequenceTest02.data > CollatingSequenceTest02.result +../msort -j -q -l -w -s CollatingSequenceTest02.ord < CollatingSequenceTest02.data > CollatingSequenceTest02.result echo -n "CollatingSequenceTest02 " >> TestResults; if cmp -s CollatingSequenceTest02.result CollatingSequenceTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests collating sequences containing non-ASCII characters and octal escapes. -msort -j -q -l -w -s CollatingSequenceTest03.ord < CollatingSequenceTest03.data > CollatingSequenceTest03.result +../msort -j -q -l -w -s CollatingSequenceTest03.ord < CollatingSequenceTest03.data > CollatingSequenceTest03.result echo -n "CollatingSequenceTest03 " >> TestResults; if cmp -s CollatingSequenceTest03.result CollatingSequenceTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests stripping of both diacritics and enclosures. -msort -j -q -l -w -T ed < ComboStrippingTest01.data > ComboStrippingTest01.result +../msort -j -q -l -w -T ed < ComboStrippingTest01.data > ComboStrippingTest01.result echo -n "ComboStrippingTest01 " >> TestResults; if cmp -s ComboStrippingTest01.result ComboStrippingTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of dates in which the month may be non-numerical. -msort -j -q -l -w -c d < DateTest01.data > DateTest01.result +../msort -j -q -l -w -c d < DateTest01.data > DateTest01.result echo -n "DateTest01 " >> TestResults; if cmp -s DateTest01.result DateTest01.norm then echo "PASSED" >> TestResults; @@ -95,249 +95,249 @@ else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m fi #This tests the interpretation of dates in which the month may be non-numerical #and the order of month names is specified in a sort order file. -msort -j -q -l -w -c d -s FrenchMonths.ord < DateTest02.data > DateTest02.result +../msort -j -q -l -w -c d -s FrenchMonths.ord < DateTest02.data > DateTest02.result echo -n "DateTest02 " >> TestResults; if cmp -s DateTest02.result DateTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of dates using non-Western (Gurmukhi) numerals. -msort -j -q -l -w -c d < DateTest03.data > DateTest03.result +../msort -j -q -l -w -c d < DateTest03.data > DateTest03.result echo -n "DateTest03 " >> TestResults; if cmp -s DateTest03.result DateTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of dates whose format is specified on the command line. -msort -j -q -l -w -c d -f m/d/y < DateTest04.data > DateTest04.result +../msort -j -q -l -w -c d -f m/d/y < DateTest04.data > DateTest04.result echo -n "DateTest04 " >> TestResults; if cmp -s DateTest04.result DateTest04.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of day-of-year dates using non-Western (Gurmukhi) numerals. -msort -j -q -l -w -c d -f y-d < DateTest05.data > DateTest05.result +../msort -j -q -l -w -c d -f y-d < DateTest05.data > DateTest05.result echo -n "DateTest05 " >> TestResults; if cmp -s DateTest05.result DateTest05.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests diacritic stripping -msort -j -q -l -w -T d < DiacriticStrippingTest01.data > DiacriticStrippingTest01.result +../msort -j -q -l -w -T d < DiacriticStrippingTest01.data > DiacriticStrippingTest01.result echo -n "DiacriticStrippingTest01 " >> TestResults; if cmp -s DiacriticStrippingTest01.result DiacriticStrippingTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -l -n 1 -c D < DomainNameTest01.data > DomainNameTest01.result +../msort -j -q -l -n 1 -c D < DomainNameTest01.data > DomainNameTest01.result echo -n "DomainNameTest01 " >> TestResults; if cmp -s DomainNameTest01.norm DomainNameTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -l -n 1 -c D < EmailAddressTest01.data > EmailAddressTest01.result +../msort -j -q -l -n 1 -c D < EmailAddressTest01.data > EmailAddressTest01.result echo -n "EmailAddressTest01 " >> TestResults; if cmp -s EmailAddressTest01.norm EmailAddressTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests conversion of enclosed characters to their unenclosed counterparts. -msort -j -q -l -w -T e < EnclosureStrippingTest01.data > EnclosureStrippingTest01.result +../msort -j -q -l -w -T e < EnclosureStrippingTest01.data > EnclosureStrippingTest01.result echo -n "EnclosureStrippingTest01 " >> TestResults; if cmp -s EnclosureStrippingTest01.norm EnclosureStrippingTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests exclusions specified on the command line -msort -j -q -l -w -c n -X '$C' < ExclusionCLITest01.data > ExclusionCLITest01.result +../msort -j -q -l -w -c n -X '$C' < ExclusionCLITest01.data > ExclusionCLITest01.result echo -n "ExclusionCLITest01 " >> TestResults; if cmp -s ExclusionCLITest01.norm ExclusionCLITest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests exclusions specified in a file -msort -j -q -l -w -c n -x ExclusionFileTest01.exc < ExclusionFileTest01.data > ExclusionFileTest01.result +../msort -j -q -l -w -c n -x ExclusionFileTest01.exc < ExclusionFileTest01.data > ExclusionFileTest01.result echo -n "ExclusionFileTest01 " >> TestResults; if cmp -s ExclusionCLITest01.norm ExclusionCLITest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -l -n 1 -a M -A < FirstCharOnlyTest01.data > FirstCharOnlyTest01.result +../msort -j -q -l -n 1 -a M -A < FirstCharOnlyTest01.data > FirstCharOnlyTest01.result echo -n "FirstCharOnlyTest01 " >> TestResults; if cmp -s FirstCharOnlyTest01.norm FirstCharOnlyTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests parsing into fixed size records. -msort -j -q -O 36 -e 32,35 -c n < FixedSizeRecordTest01.data > FixedSizeRecordTest01.result +../msort -j -q -O 36 -e 32,35 -c n < FixedSizeRecordTest01.data > FixedSizeRecordTest01.result echo -n "FixedSizeRecordTest01 " >> TestResults; if cmp -s FixedSizeRecordTest01.norm FixedSizeRecordTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests global inversion. -msort -j -q -l -w -I < GlobalInversionTest01.data > GlobalInversionTest01.result +../msort -j -q -l -w -I < GlobalInversionTest01.data > GlobalInversionTest01.result echo -n "GlobalInversionTest01 " >> TestResults; if cmp -s GlobalInversionTest01.result GlobalInversionTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests hybrid (lexical/numeric) comparison. -msort -j -q -l -w -c h < HybridComparisonTest01.data > HybridComparisonTest01.result +../msort -j -q -l -w -c h < HybridComparisonTest01.data > HybridComparisonTest01.result echo -n "HybridComparisonTest01 " >> TestResults; if cmp -s HybridComparisonTest01.result HybridComparisonTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the command line flags for specifying input and output files. -msort -j -q -l -w -1 IOFlagTest01.data -2 IOFlagTest01.result +../msort -j -q -l -w -1 IOFlagTest01.data -2 IOFlagTest01.result echo -n "IOFlagTest01 " >> TestResults; if cmp -s IOFlagTest01.result IOFlagTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of ISO8601 date/time stamps without time zone offsets. -msort -j -q -l -w -c i < ISO8601DateTimeTest01.data > ISO8601DateTimeTest01.result +../msort -j -q -l -w -c i < ISO8601DateTimeTest01.data > ISO8601DateTimeTest01.result echo -n "ISO8601DateTimeTest01 " >> TestResults; if cmp -s ISO8601DateTimeTest01.result ISO8601DateTimeTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of ISO8601 date/time stamps with time zone offsets. -msort -j -q -l -w -c i < ISO8601DateTimeTest02.data > ISO8601DateTimeTest02.result +../msort -j -q -l -w -c i < ISO8601DateTimeTest02.data > ISO8601DateTimeTest02.result echo -n "ISO8601DateTimeTest02 " >> TestResults; if cmp -s ISO8601DateTimeTest02.result ISO8601DateTimeTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of ISO8601 date/time stamps with a leading sign. -msort -j -q -l -w -c i < ISO8601DateTimeTest03.data > ISO8601DateTimeTest03.result +../msort -j -q -l -w -c i < ISO8601DateTimeTest03.data > ISO8601DateTimeTest03.result echo -n "ISO8601DateTimeTest03 " >> TestResults; if cmp -s ISO8601DateTimeTest03.result ISO8601DateTimeTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests handling of input data with CR rather than LF as line terminator. -msort -j -q -l -m -w < LineEndTest01.data > LineEndTest01.result +../msort -j -q -l -m -w < LineEndTest01.data > LineEndTest01.result echo -n "LineEndTest01 " >> TestResults; if cmp -s LineEndTest01.result LineEndTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests local inversion with a single key. -msort -j -q -l -w -i < LocalInversionTest01.data > LocalInversionTest01.result +../msort -j -q -l -w -i < LocalInversionTest01.data > LocalInversionTest01.result echo -n "LocalInversionTest01 " >> TestResults; if cmp -s LocalInversionTest01.result LocalInversionTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests local inversion with two keys. -msort -j -q -l -n 2 -c n -i -n 1 < LocalInversionTest02.data > LocalInversionTest02.result +../msort -j -q -l -n 2 -c n -i -n 1 < LocalInversionTest02.data > LocalInversionTest02.result echo -n "LocalInversionTest02 " >> TestResults; if cmp -s LocalInversionTest02.result LocalInversionTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests handling of input lines thousands of lines longs -msort -j -q -l -w < LongLineTest01.data > LongLineTest01.result +../msort -j -q -l -w < LongLineTest01.data > LongLineTest01.result echo -n "LongLineTest01 " >> TestResults; if cmp -s LongLineTest01.result LongLineTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests month name sorting using an order defined in a file. -msort -j -q -l -n 1 -c m -s MonthNameTest02.ord -n 2 -c n < MonthNameTest02.data > MonthNameTest02.result +../msort -j -q -l -n 1 -c m -s MonthNameTest02.ord -n 2 -c n < MonthNameTest02.data > MonthNameTest02.result echo -n "MonthNameTest02 " >> TestResults; if cmp -s MonthNameTest02.result MonthNameTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the ability to sort on non-Western numerals (Old Persian) -msort -j -q -l -w -c n -y Old_Persian < NumberTest01.data > NumberTest01.result +../msort -j -q -l -w -c n -y Old_Persian < NumberTest01.data > NumberTest01.result echo -n "NumberTest01 " >> TestResults; if cmp -s NumberTest01.result NumberTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the ability to sort on numbers using different numeral systems in different fields. -msort -j -q -l -n 2 -c n -y Chinese -n 1 -c n -y Devanagari < NumberTest02.data > NumberTest02.result +../msort -j -q -l -n 2 -c n -y Chinese -n 1 -c n -y Devanagari < NumberTest02.data > NumberTest02.result echo -n "NumberTest02 " >> TestResults; if cmp -s NumberTest02.result NumberTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the ability to sort on non-Western numbers (Roman numerals) -msort -j -q -l -w -c n -y Roman < NumberTest03.data > NumberTest03.result +../msort -j -q -l -w -c n -y Roman < NumberTest03.data > NumberTest03.result echo -n "NumberTest03 " >> TestResults; if cmp -s NumberTest03.result NumberTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the ability to sort on numbers in a bunch of different numeral systems -msort -j -q -l -w -c n -y all < NumberTest04.data > NumberTest04.result +../msort -j -q -l -w -c n -y all < NumberTest04.data > NumberTest04.result echo -n "NumberTest04 " >> TestResults; if cmp -s NumberTest04.result NumberTest04.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the ability to sort on numeric strings using non-Western numerals (Gurmukhi) -msort -j -q -l -w -c N -y Gurmukhi < NumericStringTest01.data > NumericStringTest01.result +../msort -j -q -l -w -c N -y Gurmukhi < NumericStringTest01.data > NumericStringTest01.result echo -n "NumericStringTest01 " >> TestResults; if cmp -s NumericStringTest01.result NumericStringTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the handling of optional tagged fields where the key is entirely absent. -msort -j -q -b -t '%P:' -o g < OptionalFieldTest01.data > OptionalFieldTest01.result +../msort -j -q -b -t '%P:' -o g < OptionalFieldTest01.data > OptionalFieldTest01.result echo -n "OptionalFieldTest01 " >> TestResults; if cmp -s OptionalFieldTest01.result OptionalFieldTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the handling of optional tagged fields where the tag is present by has no value. -msort -j -q -b -t '%P:' -o g < OptionalFieldTest02.data > OptionalFieldTest02.result +../msort -j -q -b -t '%P:' -o g < OptionalFieldTest02.data > OptionalFieldTest02.result echo -n "OptionalFieldTest02 " >> TestResults; if cmp -s OptionalFieldTest02.result OptionalFieldTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the handling of an optional positionally-defined field. -msort -j -q -l -n 2 -o l -n 1 < OptionalFieldTest03.data > OptionalFieldTest03.result +../msort -j -q -l -n 2 -o l -n 1 < OptionalFieldTest03.data > OptionalFieldTest03.result echo -n "OptionalFieldTest03 " >> TestResults; if cmp -s OptionalFieldTest03.result OptionalFieldTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests a single positive field number. -msort -j -q -l -d ':' -n 3 -c n < PositionKeyTest01.data > PositionKeyTest01.result +../msort -j -q -l -d ':' -n 3 -c n < PositionKeyTest01.data > PositionKeyTest01.result echo -n "PositionKeyTest01 " >> TestResults; if cmp -s PositionKeyTest01.norm PositionKeyTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests a single negative field number. -msort -j -q -l -d ':' -n -5 -c n < PositionKeyTest01.data > PositionKeyTest02.result +../msort -j -q -l -d ':' -n -5 -c n < PositionKeyTest01.data > PositionKeyTest02.result echo -n "PositionKeyTest02 " >> TestResults; if cmp -s PositionKeyTest02.norm PositionKeyTest02.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests a single positive field number with character offset -msort -j -q -l -d ':' -n 3.2 -c n < PositionKeyTest01.data > PositionKeyTest03.result +../msort -j -q -l -d ':' -n 3.2 -c n < PositionKeyTest01.data > PositionKeyTest03.result echo -n "PositionKeyTest03 " >> TestResults; if cmp -s PositionKeyTest03.norm PositionKeyTest03.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests a single negative field number with character offset -msort -j -q -l -d ':' -n -5.2 -c n < PositionKeyTest01.data > PositionKeyTest04.result +../msort -j -q -l -d ':' -n -5.2 -c n < PositionKeyTest01.data > PositionKeyTest04.result echo -n "PositionKeyTest04 " >> TestResults; if cmp -s PositionKeyTest04.norm PositionKeyTest04.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests compound conditional keys, that is, composed of two or more fields. -msort -j -q -l -d ':' -n '1,2' -c n -X ':' < PositionKeyTest05.data > PositionKeyTest05.result +../msort -j -q -l -d ':' -n '1,2' -c n -X ':' < PositionKeyTest05.data > PositionKeyTest05.result echo -n "PositionKeyTest05 " >> TestResults; if cmp -s PositionKeyTest05.norm PositionKeyTest05.result; then echo "PASSED" >> TestResults; @@ -346,131 +346,131 @@ fi #This tests parsing on a specified record separator. #We set the record-separator to semi-colon and the field separator to tab #and sort numerically on the second field. -msort -j -q -r ';' -d '\t' -n 2 -c n < RecordSeparatorTest01.data > RecordSeparatorTest01.result +../msort -j -q -r ';' -d '\t' -n 2 -c n < RecordSeparatorTest01.data > RecordSeparatorTest01.result echo -n "RecordSeparatorTest01 " >> TestResults; if cmp -s RecordSeparatorTest01.result RecordSeparatorTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests key reversal. -msort -j -q -l -n 1 -R < ReversalTest01.data > ReversalTest01.result +../msort -j -q -l -n 1 -R < ReversalTest01.data > ReversalTest01.result echo -n "ReversalTest01 " >> TestResults; if cmp -s ReversalTest01.result ReversalTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests use of a sort order file with a non-default separator -msort -j -q -l -w -W SortOrderFileSeparatorTest01.sep -s SortOrderFileSeparatorTest01.ord < SortOrderFileSeparatorTest01.data > SortOrderFileSeparatorTest01.result +../msort -j -q -l -w -W SortOrderFileSeparatorTest01.sep -s SortOrderFileSeparatorTest01.ord < SortOrderFileSeparatorTest01.data > SortOrderFileSeparatorTest01.result echo -n "SortOrderFileSeparatorTest01 " >> TestResults; if cmp -s SortOrderFileSeparatorTest01.result SortOrderFileSeparatorTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests skipping of the first record -msort -j -q -d '/' -t w -Z SkipFirstRecordTest01.data > SkipFirstRecordTest01.result +../msort -j -q -d '/' -t w -Z SkipFirstRecordTest01.data > SkipFirstRecordTest01.result echo -n "SkipFirstRecordTest01 " >> TestResults; if cmp -s SkipFirstRecordTest01.result SkipFirstRecordTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests sorting on string length, with a secondary lexicographic sort. -msort -j -q -l -n 1 -c s -n 1 < StringLengthTest01.data > StringLengthTest01.result +../msort -j -q -l -n 1 -c s -n 1 < StringLengthTest01.data > StringLengthTest01.result echo -n "StringLengthTest01 " >> TestResults; if cmp -s StringLengthTest01.result StringLengthTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests sorting on string length with multigraphs and a secondary lexicographic sort. -msort -j -q -l -n 1 -c s -s StringLengthTest02.ord -n 1 < StringLengthTest02.data > StringLengthTest02.result +../msort -j -q -l -n 1 -c s -s StringLengthTest02.ord -n 1 < StringLengthTest02.data > StringLengthTest02.result echo -n "StringLengthTest02 " >> TestResults; if cmp -s StringLengthTest02.result StringLengthTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -l -w -T s < StylisticTest01.data > StylisticTest01.result +../msort -j -q -l -w -T s < StylisticTest01.data > StylisticTest01.result echo -n "StylisticTest01 " >> TestResults; if cmp -s StylisticTest01.result StylisticTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests substitions. -msort -j -q -l -w -S SubstitutionTest01.sub < SubstitutionTest01.data > SubstitutionTest01.result +../msort -j -q -l -w -S SubstitutionTest01.sub < SubstitutionTest01.data > SubstitutionTest01.result echo -n "SubstitutionTest01 " >> TestResults; if cmp -s SubstitutionTest01.result SubstitutionTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests fancy substitions. -msort -j -q -l -w -S SubstitutionTest02.sub < SubstitutionTest02.data > SubstitutionTest02.result +../msort -j -q -l -w -S SubstitutionTest02.sub < SubstitutionTest02.data > SubstitutionTest02.result echo -n "SubstitutionTest02 " >> TestResults; if cmp -s SubstitutionTest02.result SubstitutionTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests key selection by tag. -msort -j -q -t '%M:' -t '%P:' < TaggedKeyTest01.data > TaggedKeyTest01.result +../msort -j -q -t '%M:' -t '%P:' < TaggedKeyTest01.data > TaggedKeyTest01.result echo -n "TaggedKeyTest01 " >> TestResults; if cmp -s TaggedKeyTest01.result TaggedKeyTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests key selection by tags specified by means of a regular expression. -msort -j -q -t '%(M|D.*|d.*):' -t '%P:' < TaggedKeyTest02.data > TaggedKeyTest02.result +../msort -j -q -t '%(M|D.*|d.*):' -t '%P:' < TaggedKeyTest02.data > TaggedKeyTest02.result echo -n "TaggedKeyTest02 " >> TestResults; if cmp -s TaggedKeyTest02.result TaggedKeyTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the handling of empty keys, that is, fields with a tag but no value. -msort -j -q -t '%G:' -t '%P:' < TaggedKeyTest03.data > TaggedKeyTest03.result +../msort -j -q -t '%G:' -t '%P:' < TaggedKeyTest03.data > TaggedKeyTest03.result echo -n "TaggedKeyTest03 " >> TestResults; if cmp -s TaggedKeyTest03.result TaggedKeyTest03.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of simple times, without time zone offsets -msort -j -q -l -w -c t < TimeTest01.data > TimeTest01.result +../msort -j -q -l -w -c t < TimeTest01.data > TimeTest01.result echo -n "TimeTest01 " >> TestResults; if cmp -s TimeTest01.result TimeTest01.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the interpretation of times with ISO8601 time zone offsets. -msort -j -q -l -w -c t < TimeTest02.data > TimeTest02.result +../msort -j -q -l -w -c t < TimeTest02.data > TimeTest02.result echo -n "TimeTest02 " >> TestResults; if cmp -s TimeTest02.result TimeTest02.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests Turkic case folding -msort -j -q -l -a m -n 1 -C -z -n 2 < TurkicCaseFoldTest.data > TurkicCaseFoldTest.result +../msort -j -q -l -a m -n 1 -C -z -n 2 < TurkicCaseFoldTest.data > TurkicCaseFoldTest.result echo -n "TurkicCaseFoldTest " >> TestResults; if cmp -s TurkicCaseFoldTest.result TurkicCaseFoldTest.norm then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests disabling of the default of normalization to NFC. -msort -j -q -l -n 1 -n 2 -c n -u n < UnicodeNormalizationTest01.data > UnicodeNormalizationTest01.result +../msort -j -q -l -n 1 -n 2 -c n -u n < UnicodeNormalizationTest01.data > UnicodeNormalizationTest01.result echo -n "UnicodeNormalizationTest01 " >> TestResults; if cmp -s UnicodeNormalizationTest01.norm UnicodeNormalizationTest01.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests the default of normalization to NFC. -msort -j -q -l -n 1 -n 2 -c n -u c < UnicodeNormalizationTest02.data > UnicodeNormalizationTest02.result +../msort -j -q -l -n 1 -n 2 -c n -u c < UnicodeNormalizationTest02.data > UnicodeNormalizationTest02.result echo -n "UnicodeNormalizationTest02 " >> TestResults; if cmp -s UnicodeNormalizationTest02.norm UnicodeNormalizationTest02.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi #This tests normalization to NFD. -msort -j -q -l -n 1 -n 2 -c n -u d < UnicodeNormalizationTest03.data > UnicodeNormalizationTest03.result +../msort -j -q -l -n 1 -n 2 -c n -u d < UnicodeNormalizationTest03.data > UnicodeNormalizationTest03.result echo -n "UnicodeNormalizationTest03 " >> TestResults; if cmp -s UnicodeNormalizationTest03.norm UnicodeNormalizationTest03.result; then echo "PASSED" >> TestResults; else echo $'\x1b[1m\x1b[31mFAILED\x1b[0m' >> TestResults; fi -msort -j -q -l -n 1 -c D < URIWithSchemeTest01.data > URIWithSchemeTest01.result +../msort -j -q -l -n 1 -c D < URIWithSchemeTest01.data > URIWithSchemeTest01.result echo -n "URIWithSchemeTest01 " >> TestResults; if cmp -s URIWithSchemeTest01.norm URIWithSchemeTest01.result; then echo "PASSED" >> TestResults; debian/patches/segfault0000664000000000000000000000103412251624607012357 0ustar Description: fix for segfault on certain input Author: Margarita Manterola Bug-Debian: http://bugs.debian.org/630485 Origin: other --- msort-8.53.orig/dstr.c +++ msort-8.53/dstr.c @@ -79,7 +79,7 @@ FillDynamicString(struct dstr *tgt, wcha #ifdef SAFECALL if(length == 0) return(ERROR); #endif - if (length > tgt->c) { + if (length + 1 > tgt->c) { if(tgt->s != NULL) free( (void *) tgt->s); tgt->s = (wchar_t *) malloc((length + 1) * sizeof(wchar_t)); if(tgt->s == NULL) return(ERROR); debian/patches/series0000664000000000000000000000002512251624444012035 0ustar licuuc path segfault debian/compat0000664000000000000000000000000212251605665010376 0ustar 9 debian/msort-gui.install0000664000000000000000000000001512251615264012506 0ustar /usr/bin/msg