summaryrefslogtreecommitdiff
path: root/fluid/code.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fluid/code.cxx')
-rw-r--r--fluid/code.cxx17
1 files changed, 14 insertions, 3 deletions
diff --git a/fluid/code.cxx b/fluid/code.cxx
index 1a5a54471..f96de3dc4 100644
--- a/fluid/code.cxx
+++ b/fluid/code.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: code.cxx,v 1.8 1999/01/07 19:17:13 mike Exp $"
+// "$Id: code.cxx,v 1.9 1999/01/19 19:10:38 mike Exp $"
//
// Code output routines for the Fast Light Tool Kit (FLTK).
//
@@ -255,8 +255,18 @@ int write_code(const char *s, const char *t) {
// generated by Fast Light User Interface Designer (fluid) version %.2f\n\n";
fprintf(header_file, hdr, FL_VERSION);
fprintf(code_file, hdr, FL_VERSION);
- Fl_Type *p;
+ {char define_name[102];
+ const char* a = filename_name(t);
+ char* b = define_name;
+ if (!isalpha(*a)) {*b++ = '_';}
+ while (*a) {*b++ = isalnum(*a) ? *a : '_'; a++;}
+ *b = 0;
+ fprintf(header_file, "#ifndef %s\n", define_name);
+ fprintf(header_file, "#define %s\n", define_name);
+ }
+
+ Fl_Type *p;
for (p = Fl_Type::first; p; p = p->next) p->write_declare();
delete included_root; included_root = 0;
@@ -274,6 +284,7 @@ int write_code(const char *s, const char *t) {
if (!s) return 1;
int x = fclose(code_file);
code_file = 0;
+ fprintf(header_file, "#endif\n");
int y = fclose(header_file);
header_file = 0;
return x >= 0 && y >= 0;
@@ -290,5 +301,5 @@ void Fl_Type::write_code1() {
void Fl_Type::write_code2() {}
//
-// End of "$Id: code.cxx,v 1.8 1999/01/07 19:17:13 mike Exp $".
+// End of "$Id: code.cxx,v 1.9 1999/01/19 19:10:38 mike Exp $".
//