summaryrefslogtreecommitdiff
path: root/web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch
diff options
context:
space:
mode:
Diffstat (limited to 'web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch')
-rw-r--r--web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch58
1 files changed, 58 insertions, 0 deletions
diff --git a/web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch b/web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch
new file mode 100644
index 0000000000..878497bb35
--- /dev/null
+++ b/web/systems/mac/cweb/CWEBChangeFilesForMacOS/ctang-mac.ch
@@ -0,0 +1,58 @@
+This is the change file for CWEB's CTANGLE 3.6 under MacOS
+(Contributed by Markus van Almsick m.van.almsick@cityweb.de, October 2000)
+
+Changes necessary for compiling with Metrowerks CodeWarrior Pro 5
+Use the stationary for a Std C console
+
+This change file addresses two issues:
+1. The MacOS does not have a command line driven console by default.
+We have to insert the ccommand routine.
+2. CWEB does not close all the files it uses. We insert a few lines
+to assert that files are closed.
+
+
+
+@x /* insert MacOS command line dialog */
+ argc=ac; argv=av;
+@y
+ argc=ac; argv=av;
+ argc = ccommand (&argv); /* addition for MacOS */
+@z
+
+
+@x /* close C file are usage */
+ printf("\n! No program text was specified."); mark_harmless;
+@y
+ printf("\n! No program text was specified.");
+ fclose(C_file); /* close main C file */
+ mark_harmless;
+@z
+
+
+@x /* close C file are usage */
+@<Write all the named output files@>=
+@y
+@<Write all the named output files@>=
+fclose(C_file); /* close main C file */
+@z
+
+
+@x /* don't close main C file twice (see change above) */
+ fclose(C_file);
+ C_file=fopen(output_file_name,"w");
+ if (C_file ==0) fatal("! Cannot open output file:",output_file_name);
+@y
+ C_file=fopen(output_file_name,"w"); /* open secondary C file */
+ if (C_file == NULL)
+ fatal("! Cannot open output file:",output_file_name);
+@z
+
+
+@x /* close secondary C file */
+ while (stack_ptr > stack) get_output();
+ flush_buffer();
+@y
+ while (stack_ptr > stack) get_output();
+ flush_buffer();
+ fclose(C_file); /* close secondary C file */
+@z \ No newline at end of file