From 3406d1e5b611cdb898e14d5a47e30fdc4d59c9a5 Mon Sep 17 00:00:00 2001 From: Reini Urban Date: Wed, 5 Dec 2018 13:00:13 +0100 Subject: [PATCH] Release 0.7 See NEWS --- .appveyor.yml | 2 +- .gitignore | 7 ++ ChangeLog | 214 +++++++++++++++++++++++++++++++++++++++++ NEWS | 7 +- examples/alldxf_1.inc | 48 ++++----- programs/Makefile.am | 36 +++---- programs/dwg2SVG.1 | 4 +- programs/dwg2dxf.1 | 4 +- programs/dwg2ps.1 | 4 +- programs/dwgbmp.1 | 4 +- programs/dwggrep.1 | 4 +- programs/dwglayers.1 | 4 +- programs/dwgread.1 | 4 +- programs/dwgrewrite.1 | 4 +- programs/dwgwrite.1 | 4 +- programs/dxf2dwg.1 | 4 +- test/xmlsuite/check.py | 0 17 files changed, 290 insertions(+), 64 deletions(-) mode change 100644 => 100755 test/xmlsuite/check.py diff --git a/.appveyor.yml b/.appveyor.yml index d4da44f2c6..e0aac6b96f 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,4 +1,4 @@ -version: 0.6.2.{build} +version: 0.7.{build} max_jobs: 4 environment: matrix: diff --git a/.gitignore b/.gitignore index 775d714a8b..f38e182fd7 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,10 @@ gcov.log /test/test-data-20*/ /unknown-*.log /fuzz-*/ +/libredwg-0.*.tar.gz* +/libredwg-0.*.tar.xz* +/libredwg-0.*.zip +/libredwg-0.*.zip.sig # specific filenames /libredwg.pc @@ -77,10 +81,12 @@ gcov.log /INSTALL /unknown-*.log /unknown.lst +/regen-unknown.sh /x.p /aclocal.m4 /autom4te.cache/ /bindings/perl/LibreDWG.pm +/bindings/perl/libredwg.so.0 /bindings/perl/Makefile.PL /bindings/perl/Makefile.old /bindings/perl/swig_perl.c @@ -130,6 +136,7 @@ gcov.log /programs/dwgwrite /programs/dwglayers /programs/dwggrep +/programs/alive.test # temp. mingw gcc DLLs for wine /programs/lib*.dll /programs/dwg2SVG diff --git a/ChangeLog b/ChangeLog index ad4e418402..eb9f9d5aad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,220 @@ Full history from the git log ----------------------------- +2018-12-05 Reini Urban + + Release 0.7 + + add .cirrus.yml for FreeBSD CI + + fix python 3.6 TabError + + meta: fixup authorship headers + load_dwg.c: decl strdup + +2018-12-05 Reini Urban + + api: convert IMAGE.size.{width,height} to 2RD + no inline structs in WIPEOUT and IMAGE. + convert inline struct { width; height } to 2RD (x,y). + The size is documented as size (u,v), + not width/height in the AutoCAD DXF docs. + + This is mostly to simplify the dynapi #59 + + xmlsuite: simplify newxml.py + remove unused local var + + xmlsuite: simplify check.py + remove unused imports + +2018-12-04 Reini Urban + + examples/bits: initialize pos + pos -Wmaybe-uninitialized in return decode(dat, pos, size) + + detab all sources + some editors are obviously confused about tabs + + Protect from calloc(0,) returning non-NULL (#61) + when info->num_sections == 0 (on some broken DWG), calloc(0,...) + might return a non-NULL ptr on some broken libc's (glibc). + This is a better fix than on PR #61, thanks @DenisPryt + for finding the problem. + +2018-12-03 Reini Urban + + alive.test: use libtool for 2nd dwggrep test + + pre-r13: set LAYER,STYLE flag bits + set on,frozen,frozen_in_new,locked bits from LAYER flag, + shape_file,vertical from STYLE flag. + + pre-r13: set BLOCK_HEADER flag bits + anonymous,hasattrs,blkisxref,xrefoverlaid from flag. + to unify the api + + smoke: CFLAGS typo + +2018-12-02 Reini Urban + + NEWS: add latest changes for 0.7 + + guard get_first_owned_object first_entity + ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f782e1db8b5 bp 0x7fffb + a38ff70 sp 0x7fffba38ff50 T0) + The signal is caused by a READ memory access. + Hint: address points to the zero page. + #0 0x7f782e1db8b4 in get_first_owned_object /home/rurban/Software/libredwg/src/dwg.c:748:34 + #1 0x5048fb in output_BLOCK_HEADER /home/rurban/Software/libredwg/programs/dwg2SVG.c:211:9 + #2 0x50453d in output_SVG /home/rurban/Software/libredwg/programs/dwg2SVG.c:252:3 + #3 0x50453d in main /home/rurban/Software/libredwg/programs/dwg2SVG.c:361 + + add missing _private decls + + fixup _VECTOR_CHKCOUNT for REACTORS macros + A minimal HANDLE (i.e. a NULL handle) need much less bits than 8 + +2018-12-02 DenisPryt + + Add _VECTOR_CHKCOUNT to REACTORS macros. + +2018-12-02 DenisPryt + + Add dwg_decode_add_object_ref + function for adding Dwg_Object_Ref. + + Revert dwg->object_ref pointer to old state if realloc is failed. + Fix Dwg_Object_Ref leaks. + +2018-12-02 Reini Urban + + fixup TABLE DWG_ERR_INVALIDTYPE error + Table_Value sets DWG_ERR_INVALIDTYPE, check it and return + the sum of all errors. + +2018-12-02 DenisPryt + + call END_REPEAT before return inside a loops + + fix 3dsolid memory leak + + switch dwg_decode_##token##_private function from EXPORT to static + + returned dwg objects non-fixed types values to its original state + + Fix memory leak objects with invalid handleref code + + Guard function in dwg_free_ ##token for all frees + in DWG_ENTITY_END and DWG_OBJECT_END + + Guard function for free(str_dat) in decode object and entity macroses + + DWG_TYPE_FREED collision + + free: several fixes + Fix eed free on eed decode error. + Objects with unknown handleref.code don't remove from dwg->object_ref array. + Fix read_system_page space allocate. + Free Bit_Chain in read_2007_section_header and other. + +2018-11-30 Reini Urban + + LEADER fields + fixup more fields: + switch path_type with annot_type + rename hooklineonxdir to hookline_dir + rename unknown_bit_4 to hookline_on + fixup DXF values + + LEADER.endptproj <= r2007 + most likely. there are still discrepancies with the DXF. + The ODA spec is wrong for sure. + i.e. box_width,box_height is rather a 213/223/233 3DPOINT + DXF 340 is also missing + + doc: add dwg_get_ API + and some more fixups + + rename internal macro GET_DWG_* to DWG_GET_ + to better reflect the external API names + dwg_get_ and dwg_get_. + + add GET_DWG_OBJECT for all objects in a DWG + analog to dwg_get_ENTITY, + but including all objects, tables, block headers, even if unowned. + +2018-11-29 Reini Urban + + fix GET_DWG_ENTITY (#60) + Either the last member of the array needs to be NULL, or we need to return + the count. Since we don't want to change the API, we NULL-terminate it. + + We also need to guard from an empty BLOCK_HEADER argument. + +2018-11-29 Reini Urban + + AUTHORS: add Denis Pruchkovsky (Pryt) + +2018-11-28 Reini Urban + + fixup VECTOR_CHKCOUNT overflow (#56) + all values need to stay signed, just promote them to long long + for the checks. + +2018-11-28 DenisPryt + + fix VECTOR_CHKCOUNT overflow (#56) + VECTOR_CHKCOUNT cast bit size to long. As result big numbers is multiplied + by 8 and becomes negative + +2018-11-27 Reini Urban + + dwglayers: fix DICTIONARY loop (#51) + skip a DICTIONARY, but dont skip the loop. + Fixes #51 + + dxf: fix empty paper_space (#52) + Fixes dxf_blocks_write #52 + +2018-11-27 DenisPryt + Reini Urban + + Fix multileader bug. vertexes should be array. + Renamed vertexes to points analog to LEADER. + + Closes PR #49 + +2018-11-27 Reini Urban + + fixup BITCODE_RC* vs char* + fix -Wpointer-sign and -Wincompatible-pointer-type warnings. + strings are still char* + + bump to 0.7, prep NEWS ChangeLog + We had to change the API in the previous commit, + RC is now unsigned char + + Fix LTYPE.dash, change RC to unsigned char + avoid such negative values. Fixes #44. + This changed the API, thus we must bump to 0.7 + + fix FIELD_NUM_INSERTS + Only allow RC 1 bytes, backup when != 1. + Fix encode for FIELD_NUM_INSERTS, write a vector of 1 bytes. + Fixes the example from #44 for the first wrong num_inserts + case. + + decode FIELD_NUM_INSERTS: log -v5 values + The ODA spec seems to be wrong, see #44 + + fixup format type for size + from the previous PR #48 + +2018-11-27 DenisPryt + + Fix image decode: rectangle or polygon flag mistake + 2018-11-26 Reini Urban Fix LTYPE.dash, change RC to unsigned char diff --git a/NEWS b/NEWS index c64246625a..14fd06a63a 100644 --- a/NEWS +++ b/NEWS @@ -2,12 +2,17 @@ GNU LibreDWG NEWS -- history of user-visible changes. -*-indented-text-*- Copyright (C) 2018 Free Software Foundation, Inc. See the end for copying conditions. -LibreDWG version 0.7 - released 2018/12/?? - still alpha: +LibreDWG version 0.7 - released 2018/12/6 - still alpha: new API: * add dwg_get_OBJECT(dwg) API for all objects in a DWG. analog to dwg_get_ENTITY, but including all objects, tables, block headers, even if unowned. + Note that the dwg_api will be revamped from static to dynamic before 1.0. + field accessors will be by name argument and ... (va_args) + See the work/dynapi branch #59 (in progress). + dwg_get_OBJECT(dwg) will be renamed to dwg_getall_OBJECT(dwg), + dwg_get_ENTITY(blkhdr) to dwg_getall_ENTITY(blkhdr). API breaking changes: * Changed BITCODE_RC from signed to unsigned char (#44) diff --git a/examples/alldxf_1.inc b/examples/alldxf_1.inc index 73f008b85b..3ffaa9da5e 100644 --- a/examples/alldxf_1.inc +++ b/examples/alldxf_1.inc @@ -122274,7 +122274,7 @@ static struct _unknown_field unknown_dxf_1484[] = { static struct _unknown_field unknown_dxf_1485[] = { //{ 5, "9B", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "965", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A3E", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122351,7 +122351,7 @@ static struct _unknown_field unknown_dxf_1485[] = { static struct _unknown_field unknown_dxf_1486[] = { //{ 5, "9C", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "967", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A40", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122428,7 +122428,7 @@ static struct _unknown_field unknown_dxf_1486[] = { static struct _unknown_field unknown_dxf_1487[] = { //{ 5, "9D", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "969", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A42", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122505,7 +122505,7 @@ static struct _unknown_field unknown_dxf_1487[] = { static struct _unknown_field unknown_dxf_1488[] = { //{ 5, "9F", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "96D", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A46", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122582,7 +122582,7 @@ static struct _unknown_field unknown_dxf_1488[] = { static struct _unknown_field unknown_dxf_1489[] = { //{ 5, "A0", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "96F", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A48", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122659,7 +122659,7 @@ static struct _unknown_field unknown_dxf_1489[] = { static struct _unknown_field unknown_dxf_1490[] = { //{ 5, "A1", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "971", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A4A", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122736,7 +122736,7 @@ static struct _unknown_field unknown_dxf_1490[] = { static struct _unknown_field unknown_dxf_1491[] = { //{ 5, "9E", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "96B", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A44", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122813,7 +122813,7 @@ static struct _unknown_field unknown_dxf_1491[] = { static struct _unknown_field unknown_dxf_1492[] = { //{ 5, "A3", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "975", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A4E", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122890,7 +122890,7 @@ static struct _unknown_field unknown_dxf_1492[] = { static struct _unknown_field unknown_dxf_1493[] = { //{ 5, "A2", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "973", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A4C", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -122967,7 +122967,7 @@ static struct _unknown_field unknown_dxf_1493[] = { static struct _unknown_field unknown_dxf_1494[] = { //{ 5, "A4", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "977", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A50", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123044,7 +123044,7 @@ static struct _unknown_field unknown_dxf_1494[] = { static struct _unknown_field unknown_dxf_1495[] = { //{ 5, "A5", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "979", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A52", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123121,7 +123121,7 @@ static struct _unknown_field unknown_dxf_1495[] = { static struct _unknown_field unknown_dxf_1496[] = { //{ 5, "A6", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "97B", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A54", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123198,7 +123198,7 @@ static struct _unknown_field unknown_dxf_1496[] = { static struct _unknown_field unknown_dxf_1497[] = { //{ 5, "A7", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "97D", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A56", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123275,7 +123275,7 @@ static struct _unknown_field unknown_dxf_1497[] = { static struct _unknown_field unknown_dxf_1498[] = { //{ 5, "A8", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "97F", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A58", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123352,7 +123352,7 @@ static struct _unknown_field unknown_dxf_1498[] = { static struct _unknown_field unknown_dxf_1499[] = { //{ 5, "A9", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "981", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A5A", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123430,7 +123430,7 @@ static struct _unknown_field unknown_dxf_1499[] = { static struct _unknown_field unknown_dxf_1500[] = { //{ 5, "173", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "983", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A5C", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123507,7 +123507,7 @@ static struct _unknown_field unknown_dxf_1500[] = { static struct _unknown_field unknown_dxf_1501[] = { //{ 5, "174", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "985", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A5E", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123584,7 +123584,7 @@ static struct _unknown_field unknown_dxf_1501[] = { static struct _unknown_field unknown_dxf_1502[] = { //{ 5, "175", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "987", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A60", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123661,7 +123661,7 @@ static struct _unknown_field unknown_dxf_1502[] = { static struct _unknown_field unknown_dxf_1503[] = { //{ 5, "17E", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "989", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A62", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123738,7 +123738,7 @@ static struct _unknown_field unknown_dxf_1503[] = { static struct _unknown_field unknown_dxf_1504[] = { //{ 5, "17F", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "98B", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A64", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123815,7 +123815,7 @@ static struct _unknown_field unknown_dxf_1504[] = { static struct _unknown_field unknown_dxf_1505[] = { //{ 5, "180", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "98D", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A66", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123892,7 +123892,7 @@ static struct _unknown_field unknown_dxf_1505[] = { static struct _unknown_field unknown_dxf_1506[] = { //{ 5, "181", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "98F", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A68", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -123969,7 +123969,7 @@ static struct _unknown_field unknown_dxf_1506[] = { static struct _unknown_field unknown_dxf_1507[] = { //{ 5, "182", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "991", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A6A", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, @@ -124047,7 +124047,7 @@ static struct _unknown_field unknown_dxf_1507[] = { static struct _unknown_field unknown_dxf_1508[] = { //{ 5, "9A", NULL, 0, BITS_UNKNOWN, "handle", 1, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_XDICTIONARY", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, - { 360, "963", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, + { 360, "A3C", NULL, 0, BITS_UNKNOWN, "xdicobjhandle", 1, {-1,-1,-1,-1,-1} }, { 102, "}", NULL, 0, BITS_UNKNOWN, "", 2, {-1,-1,-1,-1,-1} }, { 102, "{ACAD_REACTORS", NULL, 0, BITS_UNKNOWN, "", 1, {-1,-1,-1,-1,-1} }, { 330, "99", NULL, 0, BITS_UNKNOWN, "reactors[0]", 2, {-1,-1,-1,-1,-1} }, diff --git a/programs/Makefile.am b/programs/Makefile.am index 501ed05754..9fd214b56c 100644 --- a/programs/Makefile.am +++ b/programs/Makefile.am @@ -17,15 +17,15 @@ ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . -WARN_CFLAGS = @WARN_CFLAGS@ -AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(WARN_CFLAGS) -LDADD = $(top_builddir)/src/libredwg.la -lm +WARN_CFLAGS = @WARN_CFLAGS@ +AM_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src $(WARN_CFLAGS) +LDADD = $(top_builddir)/src/libredwg.la -lm -bin_PROGRAMS = dwgread +bin_PROGRAMS = dwgread +noinst_PROGRAMS = if !DISABLE_DXF -bin_PROGRAMS += dwgbmp dwg2dxf dwg2SVG dwglayers dwggrep +bin_PROGRAMS += dwgbmp dwg2dxf dwg2SVG dwglayers dwggrep endif -noinst_PROGRAMS = dist_man1_MANS = $(srcdir)/dwgread.1 $(srcdir)/dwgbmp.1 $(srcdir)/dwg2dxf.1 \ $(srcdir)/dwg2SVG.1 $(srcdir)/dwglayers.1 $(srcdir)/dwg2ps.1 \ $(srcdir)/dwggrep.1 @@ -33,24 +33,24 @@ DISTCLEANFILES = core if !DISABLE_DXF if HAVE_LIBPS -bin_PROGRAMS += dwg2ps +bin_PROGRAMS += dwg2ps dwg2ps_SOURCES = dwg2ps.c -dwg2ps_LDADD = $(LDADD) -lps +dwg2ps_LDADD = $(LDADD) -lps endif endif -dwgread_SOURCES = dwgread.c -dwgbmp_SOURCES = dwgbmp.c -dwg2dxf_SOURCES = dwg2dxf.c +dwgread_SOURCES = dwgread.c +dwgbmp_SOURCES = dwgbmp.c +dwg2dxf_SOURCES = dwg2dxf.c dwglayers_SOURCES = dwglayers.c -dwg2SVG_SOURCES = dwg2SVG.c -dwggrep_SOURCES = dwggrep.c -dwggrep_CFLAGS = $(CFLAGS) $(AM_CFLAGS) $(PCRE2_CFLAGS) -dwggrep_LDADD = $(LDADD) $(PCRE2_LIBS) +dwg2SVG_SOURCES = dwg2SVG.c +dwggrep_SOURCES = dwggrep.c +dwggrep_CFLAGS = $(CFLAGS) $(AM_CFLAGS) $(PCRE2_CFLAGS) +dwggrep_LDADD = $(LDADD) $(PCRE2_LIBS) if !DISABLE_DXF if USE_WRITE -bin_PROGRAMS += dwgrewrite +bin_PROGRAMS += dwgrewrite # not yet ready noinst_PROGRAMS += dxf2dwg dwgwrite dist_man1_MANS += $(srcdir)/dwgrewrite.1 $(srcdir)/dwgwrite.1 $(srcdir)/dxf2dwg.1 @@ -81,8 +81,8 @@ endif TESTS = alive.test -EXTRA_DIST = suffix.inc common.inc $(TESTS) cmp_dxf.pl -CLEANFILES = {example_,sample_}*.{bmp,ps,svg,dxf,log} +EXTRA_DIST = suffix.inc common.inc $(TESTS) cmp_dxf.pl +CLEANFILES = {example_,sample_}*.{bmp,ps,svg,dxf,log} CLEANFILES += {example_,sample_}*rewrite.{dwg,log} MAINTAINERCLEANFILES = *_flymake.[ch] *~ *.i diff --git a/programs/dwg2SVG.1 b/programs/dwg2SVG.1 index f209c6c4f0..ed1d8cd513 100644 --- a/programs/dwg2SVG.1 +++ b/programs/dwg2SVG.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWG2SVG "1" "November 2018" "dwg2SVG 0.6.2" "User Commands" +.TH DWG2SVG "1" "December 2018" "dwg2SVG 0.7" "User Commands" .SH NAME -dwg2SVG \- manual page for dwg2SVG 0.6.2 +dwg2SVG \- manual page for dwg2SVG 0.7 .SH SYNOPSIS .B dwg2SVG [\fI\,OPTION\/\fR]... \fI\,DWGFILE >SVGFILE\/\fR diff --git a/programs/dwg2dxf.1 b/programs/dwg2dxf.1 index c8c8639534..d7c2eca0db 100644 --- a/programs/dwg2dxf.1 +++ b/programs/dwg2dxf.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWG2DXF "1" "November 2018" "dwg2dxf 0.6.2" "User Commands" +.TH DWG2DXF "1" "December 2018" "dwg2dxf 0.7" "User Commands" .SH NAME -dwg2dxf \- manual page for dwg2dxf 0.6.2 +dwg2dxf \- manual page for dwg2dxf 0.7 .SH SYNOPSIS .B dwg2dxf [\fI\,OPTION\/\fR]... \fI\,DWGFILES\/\fR... diff --git a/programs/dwg2ps.1 b/programs/dwg2ps.1 index cdd974e5cf..48aa8c323d 100644 --- a/programs/dwg2ps.1 +++ b/programs/dwg2ps.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWG2PS "1" "November 2018" "dwg2ps 0.6.2" "User Commands" +.TH DWG2PS "1" "December 2018" "dwg2ps 0.7" "User Commands" .SH NAME -dwg2ps \- manual page for dwg2ps 0.6.2 +dwg2ps \- manual page for dwg2ps 0.7 .SH SYNOPSIS .B dwg2ps [\fI\,OPTION\/\fR]... \fI\,DWGFILE \/\fR[\fI\,PSFILE\/\fR] diff --git a/programs/dwgbmp.1 b/programs/dwgbmp.1 index edaf32eb91..70a798d7c9 100644 --- a/programs/dwgbmp.1 +++ b/programs/dwgbmp.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGBMP "1" "November 2018" "dwgbmp 0.6.2" "User Commands" +.TH DWGBMP "1" "December 2018" "dwgbmp 0.7" "User Commands" .SH NAME -dwgbmp \- manual page for dwgbmp 0.6.2 +dwgbmp \- manual page for dwgbmp 0.7 .SH SYNOPSIS .B dwgbmp [\fI\,OPTION\/\fR]... \fI\,DWGFILE \/\fR[\fI\,BMPFILE\/\fR] diff --git a/programs/dwggrep.1 b/programs/dwggrep.1 index 61deb0f3a1..7a7b1f20bb 100644 --- a/programs/dwggrep.1 +++ b/programs/dwggrep.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGGREP "1" "November 2018" "dwggrep 0.6.2" "User Commands" +.TH DWGGREP "1" "December 2018" "dwggrep 0.7" "User Commands" .SH NAME -dwggrep \- manual page for dwggrep 0.6.2 +dwggrep \- manual page for dwggrep 0.7 .SH SYNOPSIS .B dwggrep [\fI\,OPTIONS\/\fR]... \fI\,pattern files\/\fR diff --git a/programs/dwglayers.1 b/programs/dwglayers.1 index 8ddfb96800..19fe46b54e 100644 --- a/programs/dwglayers.1 +++ b/programs/dwglayers.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGLAYERS "1" "November 2018" "dwglayers 0.6.2" "User Commands" +.TH DWGLAYERS "1" "December 2018" "dwglayers 0.7" "User Commands" .SH NAME -dwglayers \- manual page for dwglayers 0.6.2 +dwglayers \- manual page for dwglayers 0.7 .SH SYNOPSIS .B dwglayers [\fI\,OPTION\/\fR]... \fI\,DWGFILE\/\fR diff --git a/programs/dwgread.1 b/programs/dwgread.1 index 4dc04da9dd..aaa58e494b 100644 --- a/programs/dwgread.1 +++ b/programs/dwgread.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGREAD "1" "November 2018" "dwgread 0.6.2" "User Commands" +.TH DWGREAD "1" "December 2018" "dwgread 0.7" "User Commands" .SH NAME -dwgread \- manual page for dwgread 0.6.2 +dwgread \- manual page for dwgread 0.7 .SH SYNOPSIS .B dwgread [\fI\,OPTION\/\fR]... \fI\,DWGFILE\/\fR diff --git a/programs/dwgrewrite.1 b/programs/dwgrewrite.1 index 8e657834bd..d91d96dcdb 100644 --- a/programs/dwgrewrite.1 +++ b/programs/dwgrewrite.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGREWRITE "1" "November 2018" "dwgrewrite 0.6.2" "User Commands" +.TH DWGREWRITE "1" "December 2018" "dwgrewrite 0.7" "User Commands" .SH NAME -dwgrewrite \- manual page for dwgrewrite 0.6.2 +dwgrewrite \- manual page for dwgrewrite 0.7 .SH SYNOPSIS .B dwgrewrite [\fI\,OPTION\/\fR]... \fI\,INFILE \/\fR[\fI\,OUTFILE\/\fR] diff --git a/programs/dwgwrite.1 b/programs/dwgwrite.1 index 67e54dd2b5..cbad20aa8c 100644 --- a/programs/dwgwrite.1 +++ b/programs/dwgwrite.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DWGWRITE "1" "November 2018" "dwgwrite 0.6.2" "User Commands" +.TH DWGWRITE "1" "December 2018" "dwgwrite 0.7" "User Commands" .SH NAME -dwgwrite \- manual page for dwgwrite 0.6.2 +dwgwrite \- manual page for dwgwrite 0.7 .SH SYNOPSIS .B dwgwrite [\fI\,OPTION\/\fR]... [\fI\,-o DWGFILE\/\fR] \fI\,INFILE\/\fR diff --git a/programs/dxf2dwg.1 b/programs/dxf2dwg.1 index 0ec00a9c79..735a1314e9 100644 --- a/programs/dxf2dwg.1 +++ b/programs/dxf2dwg.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.8. -.TH DXF2DWG "1" "November 2018" "dxf2dwg 0.6.2" "User Commands" +.TH DXF2DWG "1" "December 2018" "dxf2dwg 0.7" "User Commands" .SH NAME -dxf2dwg \- manual page for dxf2dwg 0.6.2 +dxf2dwg \- manual page for dxf2dwg 0.7 .SH SYNOPSIS .B dxf2dwg [\fI\,OPTION\/\fR]... \fI\,DXFFILE \/\fR[\fI\,DWGFILE\/\fR] diff --git a/test/xmlsuite/check.py b/test/xmlsuite/check.py old mode 100644 new mode 100755