diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-12-17 01:02:16 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2001-12-17 01:02:16 +0000 |
| commit | 12e9d23bc39ed6edb88af89723449f39ff088fad (patch) | |
| tree | e8b18602eb509c8e81788f1aaba6581cce6610c6 /fluid | |
| parent | d7ee0df84ca8d0e1694dbc1d700b274b69fa64c5 (diff) | |
Don't append a semicolon to callback function code when the last line
is blank or is a preprocessor directive.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1856 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid')
| -rw-r--r-- | fluid/Fl_Menu_Type.cxx | 13 | ||||
| -rw-r--r-- | fluid/Fl_Widget_Type.cxx | 13 |
2 files changed, 20 insertions, 6 deletions
diff --git a/fluid/Fl_Menu_Type.cxx b/fluid/Fl_Menu_Type.cxx index 3bd05743b..7ec6c81e2 100644 --- a/fluid/Fl_Menu_Type.cxx +++ b/fluid/Fl_Menu_Type.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu_Type.cxx,v 1.16.2.12.2.2 2001/10/30 17:40:02 easysw Exp $" +// "$Id: Fl_Menu_Type.cxx,v 1.16.2.12.2.3 2001/12/17 01:02:16 easysw Exp $" // // Menu item code for the Fast Light Tool Kit (FLTK). // @@ -149,7 +149,14 @@ void Fl_Menu_Item_Type::write_static() { write_c(", %s", ut); if (use_v) write_c(" v"); write_c(") {\n %s", callback()); - if (*(d-1) != ';') write_c(";"); + if (*(d-1) != ';') { + const char *p = strrchr(callback(), '\n'); + if (p) p ++; + else p = callback(); + // Only add trailing semicolon if the last line is not a preprocessor + // statement... + if (*p != '#' && *p) write_c(";"); + } write_c("\n}\n"); if (k) { write_c("void %s::%s(Fl_Menu_* o, %s v) {\n", k, cn, ut); @@ -460,5 +467,5 @@ void shortcut_in_cb(Shortcut_Button* i, void* v) { } // -// End of "$Id: Fl_Menu_Type.cxx,v 1.16.2.12.2.2 2001/10/30 17:40:02 easysw Exp $". +// End of "$Id: Fl_Menu_Type.cxx,v 1.16.2.12.2.3 2001/12/17 01:02:16 easysw Exp $". // diff --git a/fluid/Fl_Widget_Type.cxx b/fluid/Fl_Widget_Type.cxx index 842fdc3cf..c57982c7f 100644 --- a/fluid/Fl_Widget_Type.cxx +++ b/fluid/Fl_Widget_Type.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Widget_Type.cxx,v 1.15.2.16.2.8 2001/11/25 16:38:11 easysw Exp $" +// "$Id: Fl_Widget_Type.cxx,v 1.15.2.16.2.9 2001/12/17 01:02:16 easysw Exp $" // // Widget type code for the Fast Light Tool Kit (FLTK). // @@ -1423,7 +1423,14 @@ void Fl_Widget_Type::write_static() { write_c(", %s", ut); if (use_v) write_c(" v"); write_c(") {\n %s", callback()); - if (*(d-1) != ';') write_c(";"); + if (*(d-1) != ';') { + const char *p = strrchr(callback(), '\n'); + if (p) p ++; + else p = callback(); + // Only add trailing semicolon if the last line is not a preprocessor + // statement... + if (*p != '#' && *p) write_c(";"); + } write_c("\n}\n"); if (k) { write_c("void %s::%s(%s* o, %s v) {\n", k, cn, t, ut); @@ -1963,5 +1970,5 @@ int Fl_Widget_Type::read_fdesign(const char* name, const char* value) { } // -// End of "$Id: Fl_Widget_Type.cxx,v 1.15.2.16.2.8 2001/11/25 16:38:11 easysw Exp $". +// End of "$Id: Fl_Widget_Type.cxx,v 1.15.2.16.2.9 2001/12/17 01:02:16 easysw Exp $". // |
