[libtext-bibtex-perl] 01/03: New upstream version 0.85
Nuno Carvalho
smash at cpan.org
Thu Aug 31 16:33:43 UTC 2017
This is an automated email from the git hooks/post-receive script.
mestre-guest pushed a commit to branch master
in repository libtext-bibtex-perl.
commit e02bfc46c361289853dae1cb6e26a929cfa5a442
Author: Nuno Carvalho <smash at cpan.org>
Date: Thu Aug 31 13:15:02 2017 +0100
New upstream version 0.85
---
Changes | 8 +++++
MANIFEST | 1 +
META.json | 28 ++++++++---------
META.yml | 28 ++++++++---------
btparse/doc/bt_language.pod | 2 +-
btparse/pccts/dlgauto.h | 10 +++---
btparse/pccts/err.h | 6 ++--
btparse/src/bt_config.h.in | 6 ++++
btparse/src/error.c | 2 +-
btparse/src/parse_auxiliary.c | 73 +++++++++++++++++++++++++++++++++++++------
btparse/tests/read_test.c | 2 +-
btparse/tests/simple_test.c | 4 +--
btparse/tests/testlib.c | 4 +--
btparse/tests/testlib.h | 2 +-
inc/MyBuilder.pm | 8 +++--
lib/Text/BibTeX.pm | 4 +--
lib/Text/BibTeX/Bib.pm | 4 +--
lib/Text/BibTeX/BibFormat.pm | 2 +-
lib/Text/BibTeX/BibSort.pm | 4 +--
lib/Text/BibTeX/Entry.pm | 4 +--
lib/Text/BibTeX/File.pm | 2 +-
lib/Text/BibTeX/Name.pm | 2 +-
lib/Text/BibTeX/NameFormat.pm | 2 +-
lib/Text/BibTeX/Structure.pm | 6 ++--
lib/Text/BibTeX/Value.pm | 4 +--
t/00_system_info.t | 12 +++++++
26 files changed, 158 insertions(+), 72 deletions(-)
diff --git a/Changes b/Changes
index 0b8b65e..0558653 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,13 @@
Revision history for Perl module Text::BibTeX
+0.85 2017-08-31
+ * FreeBSD includes a definition of strlcat, so no need to redefine it.
+
+0.84 2017-08-31
+ * Further buffer overflow fixes.
+ * Spellchecking fixes by Julián Moreno Patiño, Lucas Kanashiro, and
+ Gregor Herrmann (debian community)
+
0.83 2017-08-28
* Remove unecessary depedency to YAML.
* Fix further buffer overflow situations.
diff --git a/MANIFEST b/MANIFEST
index fa58ccf..1f4628d 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -29,6 +29,7 @@ lib/Text/BibTeX/Bib.pm
lib/Text/BibTeX/BibFormat.pm
lib/Text/BibTeX/BibSort.pm
+t/00_system_info.t
t/common.pl
t/bib.t
t/macro.t
diff --git a/META.json b/META.json
index 4aa7690..3d076a9 100644
--- a/META.json
+++ b/META.json
@@ -44,55 +44,55 @@
"provides" : {
"Text::BibTeX" : {
"file" : "lib/Text/BibTeX.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::BibEntry" : {
"file" : "lib/Text/BibTeX/Bib.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::BibFormat" : {
"file" : "lib/Text/BibTeX/BibFormat.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::BibSort" : {
"file" : "lib/Text/BibTeX/BibSort.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::BibStructure" : {
"file" : "lib/Text/BibTeX/Bib.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::Entry" : {
"file" : "lib/Text/BibTeX/Entry.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::File" : {
"file" : "lib/Text/BibTeX/File.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::Name" : {
"file" : "lib/Text/BibTeX/Name.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::NameFormat" : {
"file" : "lib/Text/BibTeX/NameFormat.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::SimpleValue" : {
"file" : "lib/Text/BibTeX/Value.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::Structure" : {
"file" : "lib/Text/BibTeX/Structure.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::StructuredEntry" : {
"file" : "lib/Text/BibTeX/Structure.pm",
- "version" : "0.83"
+ "version" : "0.85"
},
"Text::BibTeX::Value" : {
"file" : "lib/Text/BibTeX/Value.pm",
- "version" : "0.83"
+ "version" : "0.85"
}
},
"release_status" : "stable",
@@ -104,6 +104,6 @@
"url" : "http://github.com/ambs/Text-BibTeX"
}
},
- "version" : "0.83",
+ "version" : "0.85",
"x_serialization_backend" : "JSON::PP version 2.94"
}
diff --git a/META.yml b/META.yml
index 731c354..d388caf 100644
--- a/META.yml
+++ b/META.yml
@@ -25,43 +25,43 @@ name: Text-BibTeX
provides:
Text::BibTeX:
file: lib/Text/BibTeX.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::BibEntry:
file: lib/Text/BibTeX/Bib.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::BibFormat:
file: lib/Text/BibTeX/BibFormat.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::BibSort:
file: lib/Text/BibTeX/BibSort.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::BibStructure:
file: lib/Text/BibTeX/Bib.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::Entry:
file: lib/Text/BibTeX/Entry.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::File:
file: lib/Text/BibTeX/File.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::Name:
file: lib/Text/BibTeX/Name.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::NameFormat:
file: lib/Text/BibTeX/NameFormat.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::SimpleValue:
file: lib/Text/BibTeX/Value.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::Structure:
file: lib/Text/BibTeX/Structure.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::StructuredEntry:
file: lib/Text/BibTeX/Structure.pm
- version: '0.83'
+ version: '0.85'
Text::BibTeX::Value:
file: lib/Text/BibTeX/Value.pm
- version: '0.83'
+ version: '0.85'
requires:
Encode: '0'
Scalar::Util: '1.42'
@@ -69,5 +69,5 @@ requires:
resources:
license: http://dev.perl.org/licenses/
repository: http://github.com/ambs/Text-BibTeX
-version: '0.83'
+version: '0.85'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --git a/btparse/doc/bt_language.pod b/btparse/doc/bt_language.pod
index 6cb7299..c7465ae 100644
--- a/btparse/doc/bt_language.pod
+++ b/btparse/doc/bt_language.pod
@@ -94,7 +94,7 @@ regular expressions on the right:
JUNK ~[\@\n\ \r\t]+
(Note that this is PCCTS regular expression syntax, which should be
-fairly familar to users of other regex engines. One oddity is that a
+fairly familiar to users of other regex engines. One oddity is that a
character class is negated as C<~[...]> rather than C<[^...]>.)
On seeing C<at> at top-level, we enter in-entry mode. Whitespace, junk,
diff --git a/btparse/pccts/dlgauto.h b/btparse/pccts/dlgauto.h
index ce9a546..0f29359 100644
--- a/btparse/pccts/dlgauto.h
+++ b/btparse/pccts/dlgauto.h
@@ -252,12 +252,12 @@ int m;
{
/* points to base of dfa table */
if (m<MAX_MODE){
- zzauto = m;
- /* have to redo class since using different compression */
- zzclass = ZZSHIFT(zzchar);
+ zzauto = m;
+ /* have to redo class since using different compression */
+ zzclass = ZZSHIFT(zzchar);
}else{
- sprintf(zzebuf,"Invalid automaton mode = %d ",m);
- zzerr(zzebuf);
+ snprintf(zzebuf, 69, "Invalid automaton mode = %d ",m); // easier to track bugs
+ zzerr(zzebuf);
}
}
diff --git a/btparse/pccts/err.h b/btparse/pccts/err.h
index 6cec4cb..b30a36a 100644
--- a/btparse/pccts/err.h
+++ b/btparse/pccts/err.h
@@ -809,7 +809,7 @@ int m;
#endif
{
if(zzmdep == ZZMAXSTK - 1) {
- sprintf(zzmbuf, "Mode stack overflow ");
+ snprintf(zzmbuf, 69, "Mode stack overflow "); // slower but easier to track pointer overflows
zzerr(zzmbuf);
} else {
zzmstk[zzmdep++] = zzauto;
@@ -824,8 +824,8 @@ zzmpop( void )
zzmpop( )
#endif
{
- if(zzmdep == 0)
- { sprintf(zzmbuf, "Mode stack underflow ");
+ if(zzmdep == 0) {
+ snprintf(zzmbuf, 69, "Mode stack underflow ");
zzerr(zzmbuf);
}
else
diff --git a/btparse/src/bt_config.h.in b/btparse/src/bt_config.h.in
index 530e7c5..8d5dcab 100644
--- a/btparse/src/bt_config.h.in
+++ b/btparse/src/bt_config.h.in
@@ -15,6 +15,12 @@
*/
#[% ALLOCA_H %]
+#undef HAVE_STRLCAT
+/* Have strlcat? */
+#[% STRLCAT %]
+
+
+
/* Define to 1 if the system has the type `boolean'. */
#undef HAVE_BOOLEAN
diff --git a/btparse/src/error.c b/btparse/src/error.c
index 21d18e7..6077e1f 100644
--- a/btparse/src/error.c
+++ b/btparse/src/error.c
@@ -175,7 +175,7 @@ report_error (bt_errclass class,
#if HAVE_VSNPRINTF
vsnprintf (error_buf, MAX_ERROR, fmt, arglist);
#else
- msg_len = vsprintf (error_buf, fmt, arglist);
+ msg_len = vsprintf (error_buf, fmt, arglist); // protected by cpp
if (msg_len > MAX_ERROR)
internal_error ("static error message buffer overflowed");
#endif
diff --git a/btparse/src/parse_auxiliary.c b/btparse/src/parse_auxiliary.c
index 142ef1b..6584bdd 100644
--- a/btparse/src/parse_auxiliary.c
+++ b/btparse/src/parse_auxiliary.c
@@ -67,6 +67,60 @@ char **token_names;
#endif
+#ifndef HAVE_STRLCAT
+/********************************* AMBS **********************/
+/*
+ * Appends src to string dst of size dsize (unlike strlcat, dsize is the
+ * full size of dst, not space left). At most dsize-1 characters
+ * will be copied. Always NUL terminates (unless dsize <= strlen(dst)).
+ * Returns strlen(src) + MIN(dsize, strlen(initial dst)).
+ * If retval >= dsize, truncation occurred.
+ */
+static size_t
+strlcat(char *dst, const char *src, size_t dsize)
+{
+ const char *odst = dst;
+ const char *osrc = src;
+ size_t n = dsize;
+ size_t dlen;
+
+ /* Find the end of dst and adjust bytes left but don't go past end. */
+ while (n-- != 0 && *dst != '\0')
+ dst++;
+ dlen = dst - odst;
+ n = dsize - dlen;
+
+ if (n-- == 0)
+ return(dlen + strlen(src));
+ while (*src != '\0') {
+ if (n != 0) {
+ *dst++ = *src;
+ n--;
+ }
+ src++;
+ }
+ *dst = '\0';
+
+ return(dlen + (src - osrc)); /* count does not include NUL */
+}
+/********************************* AMBS **********************/
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
void
fix_token_names (void)
{
@@ -120,12 +174,12 @@ append_token_set (char *msg, SetWordType *a)
{
if (t & *b)
{
- strcat (msg, zztokens[e]);
+ strlcat (msg, zztokens[e], MAX_ERROR);
tokens_printed++;
if (tokens_printed < zzset_deg (a) - 1)
- strcat (msg, ", ");
+ strlcat (msg, ", ", MAX_ERROR);
else if (tokens_printed == zzset_deg (a) - 1)
- strcat (msg, " or ");
+ strlcat (msg, " or ", MAX_ERROR);
}
e++;
} while (++b < &(bitmask[sizeof(SetWordType)*8]));
@@ -153,7 +207,7 @@ zzsyn(char * text,
msg[0] = (char) 0; /* make sure string is empty to start! */
if (tok == zzEOF_TOKEN)
- strcat (msg, "at end of input");
+ strlcat (msg, "at end of input", MAX_ERROR);
else
snprintf (msg, MAX_ERROR - 1, "found \"%s\"", bad_text);
@@ -169,7 +223,7 @@ zzsyn(char * text,
}
else
{
- strcat (msg, ", ");
+ strlcat (msg, ", ", MAX_ERROR);
len += 2;
}
@@ -189,18 +243,19 @@ zzsyn(char * text,
if (zzset_deg (eset) > 0)
{
if (zzset_deg (eset) == 1)
- strcat (msg, "expected ");
+ strlcat (msg, "expected ", MAX_ERROR);
else
- strcat (msg, "expected one of: ");
+ strlcat (msg, "expected one of: ", MAX_ERROR);
append_token_set (msg, eset);
}
else
{
- snprintf (msg+len, MAX_ERROR - len - 1, "expected %s", zztokens[etok]);
+ if (MAX_ERROR - len > 0) // Check if we have space for more info...
+ snprintf (msg+len, MAX_ERROR - len - 1, "expected %s", zztokens[etok]);
if (etok == ENTRY_CLOSE)
{
- strcat (msg, " (skipping to next \"@\")");
+ strlcat (msg, " (skipping to next \"@\")", MAX_ERROR);
initialize_lexer_state ();
}
}
diff --git a/btparse/tests/read_test.c b/btparse/tests/read_test.c
index c8e079f..7cec276 100644
--- a/btparse/tests/read_test.c
+++ b/btparse/tests/read_test.c
@@ -28,7 +28,7 @@ int main (void)
* at eof -- but doesn't do the eof processing (that's for the next
* call).
*/
- infile = open_file ("empty.bib", DATA_DIR, filename);
+ infile = open_file ("empty.bib", DATA_DIR, filename, 255);
CHECK (!feof (infile))
entry = bt_parse_entry (infile, filename, 0, &entry_ok);
CHECK (feof (infile))
diff --git a/btparse/tests/simple_test.c b/btparse/tests/simple_test.c
index 02fc75d..ef27612 100644
--- a/btparse/tests/simple_test.c
+++ b/btparse/tests/simple_test.c
@@ -552,7 +552,7 @@ int main (void)
for (i = 0; i < NUM_TESTS; i++)
{
- infile = open_file (tests[i].filename, DATA_DIR, filename);
+ infile = open_file (tests[i].filename, DATA_DIR, filename, 255);
/* Override string-processing options for all entry metatypes */
set_all_stringopts (tests[i].options);
@@ -569,7 +569,7 @@ int main (void)
if (!ok) num_failures++;
} /* for i */
- infile = open_file ("simple.bib", DATA_DIR, filename);
+ infile = open_file ("simple.bib", DATA_DIR, filename, 255);
if (! test_multiple (infile, filename, BTO_MINIMAL, options, 4, tests+4))
num_failures++;
rewind (infile);
diff --git a/btparse/tests/testlib.c b/btparse/tests/testlib.c
index de4e876..e101a9a 100644
--- a/btparse/tests/testlib.c
+++ b/btparse/tests/testlib.c
@@ -19,11 +19,11 @@
#include "my_dmalloc.h"
-FILE *open_file (char *basename, char *dirname, char *filename)
+FILE *open_file (char *basename, char *dirname, char *filename, int len)
{
FILE * file;
- sprintf (filename, "%s/%s", dirname, basename);
+ snprintf (filename, len-1, "%s/%s", dirname, basename);
file = fopen (filename, "r");
if (file == NULL)
{
diff --git a/btparse/tests/testlib.h b/btparse/tests/testlib.h
index 16428b4..3df1999 100644
--- a/btparse/tests/testlib.h
+++ b/btparse/tests/testlib.h
@@ -39,7 +39,7 @@ if (! (cond)) \
}
-FILE *open_file (char *basename, char *dirname, char *filename);
+FILE *open_file (char *basename, char *dirname, char *filename, int len);
void set_all_stringopts (btshort options);
diff --git a/inc/MyBuilder.pm b/inc/MyBuilder.pm
index fd1d5f6..d6d2db1 100644
--- a/inc/MyBuilder.pm
+++ b/inc/MyBuilder.pm
@@ -84,13 +84,17 @@ sub ACTION_code {
my $vsnprintf = 'undef HAVE_VSNPRINTF';
$vsnprintf = 'define HAVE_VSNPRINTF 1' if Config::AutoConf->check_func('vsnprintf');
+ my $strlcat = 'undef HAVE_STRLCAT';
+ $strlcat = 'define HAVE_STRLCAT 1' if Config::AutoConf->check_func('strlcat');
+
_interpolate("btparse/src/bt_config.h.in",
"btparse/src/bt_config.h",
PACKAGE => "\"libbtparse\"",
FPACKAGE => "\"libbtparse $version\"",
VERSION => "\"$version\"",
ALLOCA_H => $alloca_h,
- VSNPRINTF => $vsnprintf
+ VSNPRINTF => $vsnprintf,
+ STRLCAT => $strlcat
);
@@ -383,7 +387,7 @@ sub ACTION_test {
sub _interpolate {
my ($from, $to, %config) = @_;
-
+
print "Creating new '$to' from '$from'.\n";
open FROM, $from or die "Cannot open file '$from' for reading.\n";
open TO, ">", $to or die "Cannot open file '$to' for writing.\n";
diff --git a/lib/Text/BibTeX.pm b/lib/Text/BibTeX.pm
index a3155bb..41cc2c1 100644
--- a/lib/Text/BibTeX.pm
+++ b/lib/Text/BibTeX.pm
@@ -25,7 +25,7 @@ use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $AUTOLOAD);
require Exporter;
require DynaLoader;
-our $VERSION='0.83';
+our $VERSION='0.85';
@ISA = qw(Exporter DynaLoader);
%EXPORT_TAGS = (nodetypes => [qw(BTAST_STRING BTAST_MACRO BTAST_NUMBER)],
@@ -667,7 +667,7 @@ the input string is returned.
OPTIONS is currently unused.
-=item change_case (TRANFORM, STRING [, OPTIONS])
+=item change_case (TRANSFORM, STRING [, OPTIONS])
Transforms the case of STRING according to TRANSFORM (a single
character, one of C<'u'>, C<'l'>, or C<'t'>). See L<bt_misc> for
diff --git a/lib/Text/BibTeX/Bib.pm b/lib/Text/BibTeX/Bib.pm
index 0a11afc..4d8428d 100644
--- a/lib/Text/BibTeX/Bib.pm
+++ b/lib/Text/BibTeX/Bib.pm
@@ -111,7 +111,7 @@ package Text::BibTeX::BibStructure;
use strict;
use vars qw(@ISA $VERSION);
@ISA = qw(Text::BibTeX::Structure);
-$VERSION = '0.83';
+$VERSION = '0.85';
=head1 STRUCTURE OPTIONS
@@ -450,7 +450,7 @@ package Text::BibTeX::BibEntry;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = '0.83';
+$VERSION = '0.85';
use Text::BibTeX::BibSort;
use Text::BibTeX::BibFormat;
diff --git a/lib/Text/BibTeX/BibFormat.pm b/lib/Text/BibTeX/BibFormat.pm
index 66b6f1e..ddea761 100644
--- a/lib/Text/BibTeX/BibFormat.pm
+++ b/lib/Text/BibTeX/BibFormat.pm
@@ -26,7 +26,7 @@ use Text::BibTeX::NameFormat;
use Text::BibTeX::Structure;
@ISA = qw(Text::BibTeX::StructuredEntry);
-$VERSION = 0.83;
+$VERSION = 0.85;
use Text::BibTeX qw(:subs display_list :nameparts :joinmethods);
diff --git a/lib/Text/BibTeX/BibSort.pm b/lib/Text/BibTeX/BibSort.pm
index 2e3a248..2cc688b 100644
--- a/lib/Text/BibTeX/BibSort.pm
+++ b/lib/Text/BibTeX/BibSort.pm
@@ -23,7 +23,7 @@ use vars qw(@ISA $VERSION);
use Text::BibTeX::Structure;
@ISA = qw(Text::BibTeX::StructuredEntry);
-$VERSION = 0.83;
+$VERSION = 0.85;
use Text::BibTeX qw(purify_string change_case);
@@ -70,7 +70,7 @@ to produce the sort key: non-English letters are mercilessly anglicized,
non-alphabetic characters are stripped, and everything is forced to
lowercase. (The first two steps are done by the C<purify_string> routine;
see L<Text::BibTeX/"Generic string-processing functions"> for a brief
-description, and the descripton of the C function C<bt_purify_string()> in
+description, and the description of the C function C<bt_purify_string()> in
L<bt_misc> for all the gory details.)
=cut
diff --git a/lib/Text/BibTeX/Entry.pm b/lib/Text/BibTeX/Entry.pm
index f9fe0cc..36fd44a 100644
--- a/lib/Text/BibTeX/Entry.pm
+++ b/lib/Text/BibTeX/Entry.pm
@@ -23,7 +23,7 @@ use vars qw'$VERSION';
use Carp;
use Text::BibTeX qw(:metatypes :nodetypes);
-$VERSION = 0.83;
+$VERSION = 0.85;
=head1 NAME
@@ -534,7 +534,7 @@ L<Text::BibTeX::Value>.
=item value ()
-Retuns the single string associated with C<@comment> and C<@preamble>
+Returns the single string associated with C<@comment> and C<@preamble>
entries. For instance, the entry
@preamble{" This is a preamble" #
diff --git a/lib/Text/BibTeX/File.pm b/lib/Text/BibTeX/File.pm
index b6d7618..0ec70a2 100644
--- a/lib/Text/BibTeX/File.pm
+++ b/lib/Text/BibTeX/File.pm
@@ -23,7 +23,7 @@ use IO::File;
use Text::BibTeX::Entry;
use vars qw'$VERSION';
-$VERSION = 0.83;
+$VERSION = 0.85;
=head1 NAME
diff --git a/lib/Text/BibTeX/Name.pm b/lib/Text/BibTeX/Name.pm
index 970f23c..00e7ed5 100644
--- a/lib/Text/BibTeX/Name.pm
+++ b/lib/Text/BibTeX/Name.pm
@@ -23,7 +23,7 @@ require 5.004;
use strict;
use Carp;
use vars qw'$VERSION';
-$VERSION = 0.83;
+$VERSION = 0.85;
use Text::BibTeX;
diff --git a/lib/Text/BibTeX/NameFormat.pm b/lib/Text/BibTeX/NameFormat.pm
index 5119644..26ed9ff 100644
--- a/lib/Text/BibTeX/NameFormat.pm
+++ b/lib/Text/BibTeX/NameFormat.pm
@@ -23,7 +23,7 @@ require 5.004;
use strict;
use Carp;
use vars qw'$VERSION';
-$VERSION = 0.83;
+$VERSION = 0.85;
=head1 NAME
diff --git a/lib/Text/BibTeX/Structure.pm b/lib/Text/BibTeX/Structure.pm
index 1bf3901..15d9b7d 100644
--- a/lib/Text/BibTeX/Structure.pm
+++ b/lib/Text/BibTeX/Structure.pm
@@ -24,7 +24,7 @@ use strict;
use Carp;
use vars qw'$VERSION';
-$VERSION = 0.83;
+$VERSION = 0.85;
use Text::BibTeX ('check_class');
@@ -80,7 +80,7 @@ basis of the B<btOOL> "structure module" system. This system is how
database structures are defined and imposed on BibTeX files, and
provides an elegant synthesis of object-oriented techniques with
BibTeX-style database structures. Nothing described here is
-particularly deep or subtle; anyone familar with object-oriented
+particularly deep or subtle; anyone familiar with object-oriented
programming should be able to follow it. However, a fair bit of jargon
in invented and tossed around, so pay attention.
@@ -870,7 +870,7 @@ sub get_options
package Text::BibTeX::StructuredEntry;
use strict;
use vars qw(@ISA $VERSION);
-$VERSION = 0.83;
+$VERSION = 0.85;
use Carp;
diff --git a/lib/Text/BibTeX/Value.pm b/lib/Text/BibTeX/Value.pm
index 013e5b2..a904aab 100644
--- a/lib/Text/BibTeX/Value.pm
+++ b/lib/Text/BibTeX/Value.pm
@@ -22,7 +22,7 @@ use Scalar::Util 'blessed';
use Carp;
use vars qw'$VERSION';
-$VERSION = 0.83;
+$VERSION = 0.85;
=head1 NAME
@@ -245,7 +245,7 @@ use Carp;
use Text::BibTeX qw(:nodetypes);
use vars qw($VERSION);
-$VERSION = '0.83';
+$VERSION = '0.85';
=head2 Text::BibTeX::SimpleValue methods
diff --git a/t/00_system_info.t b/t/00_system_info.t
new file mode 100644
index 0000000..4131599
--- /dev/null
+++ b/t/00_system_info.t
@@ -0,0 +1,12 @@
+#!perl
+
+use strict;
+use warnings;
+use Test::More tests => 1;
+
+open my $f, '<', "btparse/src/bt_config.h";
+while (<$f>) {
+ diag $_ if /#define/;
+}
+close $f;
+ok(1);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libtext-bibtex-perl.git
More information about the Pkg-perl-cvs-commits
mailing list