Hi,
My name is Pero Brbora, student of Applied/Business Computing, University of Dubrovnik, Croatia <http://www.unidu.hr>. I'm full time empolyed in Civil/Construction/Cadastral Surveying industry and part-time student, so CAD related projects were on my GSOC look up list. Since I already commited few patches to libredwg project (under my alias Ivan Radic) I decided to introduce myself to you. I cloned libredwg source to my computer (Ubuntu, I have access to Windows machine too) browsed it, created doxygen documentation and compiled it. Unfortunatelly 'make check' doesn't work (segfaults 40 of 40) so I read examples (I have attached patch for testsvg2.c which fixes segfault when you start program without arguments). Looking through the code I noticed MACROS. Lots of them, are there any plans to get rid of them? This would really make a difference for everyone who is trying to understand libredwg source code. I went through the list of ideas for libredwg and will probably use dwg write support in my proposal, although I will change it to version 2000 only (just to be sure I can finish it on time). My plan is to use github as a simple yet effective way for you to monitor my work through CHANGELOG (code) and CHANGEBLOG (details). I haven't used github before but it shouldn't be hard to set it up. I understand GNU policy about "open software" and will comply with it (signing), also coding with GNU coding standard is not a problem. Time for coding is not a problem as I can code at work (on slow days when we are not outdoors surveying) and I'm on leave for the whole August. Of course I'm taking this project and coding in general very seriously.
So, what do you think?




>From a34318a3f968d828e5f630763464f2623a435bef Mon Sep 17 00:00:00 2001
From: Pero Brbora <[email protected]>
Date: Wed, 25 Mar 2015 00:42:23 +0100
Subject: [PATCH] Fix segfault when runing program without input arguments.

---
 examples/testsvg2.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/examples/testsvg2.c b/examples/testsvg2.c
index 1a00812..bd6aacd 100644
--- a/examples/testsvg2.c
+++ b/examples/testsvg2.c
@@ -25,7 +25,7 @@
 #include <dwg.h>
 #include <dwg_api.h>
 //#include "../src/bits.h"
-//#include "suffix.c"
+#include "suffix.c"
 
 double model_xmin, model_ymin;
 double page_width, page_height, scale;
@@ -47,7 +47,7 @@ output_SVG(dwg_data* dwg);
 int
 main(int argc, char *argv[])
 {
-//  REQUIRE_INPUT_FILE_ARG (argc);
+  REQUIRE_INPUT_FILE_ARG (argc);
   return test_SVG (argv[1]);
 }
 
@@ -62,9 +62,8 @@ test_SVG(char *filename)
   if (!error)
     {
       output_SVG(&dwg);
+      dwg_free(&dwg);
     }
-
-  dwg_free(&dwg);
   /* This value is the return value for `main',
      so clamp it to either 0 or 1.  */
   return error ? 1 : 0;
-- 
1.9.1

Reply via email to