OSDN Git Service

Baseline, with the license notices in README.TXT and BIFDOC.TXT.
[bif-6809/bif-6809.git] / junkbox / 32col.c
diff --git a/junkbox/32col.c b/junkbox/32col.c
new file mode 100644 (file)
index 0000000..b9c30e7
--- /dev/null
@@ -0,0 +1 @@
+/* Convert Color Computer 32 column screens to terminated lines.\r// Written by Joel Rees, Takino, Hyogo, Japan, May 1997.\r// Assigned to the public domain.\r// Since it is in the public domain, it can't be copyrighted. \r// If you borrow this code directly, \r// please note the source and the fact that it is public domain in your source code comments.\r//\r// Current e-mail (January 2000): joel_rees@sannet.ne.jp, reiisi@nettaxi.com\r*/\r\r#include <stdio.h>\r#include <stdlib.h>      /* for EXIT_SUCCESS */\r#include <ctype.h>\r/* It's Mac, yess! */\r#include <console.h>\r\r\rconst int ScreenWidth = 32;\rconst int ScreenHeight = 32;\rconst int BufferWidth = ScreenWidth + 1;        /* room for NUL */\r\r\r\r\rint main(int argc, char * argv[] )\r{\r    char buffer[ ScreenHeight ][ BufferWidth ];\r    FILE * input = stdin;\r\r /* Use the pseudo-command-line as simple file interface */\r     argc = ccommand( &argv );\r      if ( argc > 1 )\r        {       input = fopen( argv[ 1 ], "rb" );\r              if ( input == NULL )\r           {       return EXIT_FAILURE;\r           }\r      }\r\r     while ( !feof( input ) )\r       {       int lineCount;\r         for ( lineCount = 0; lineCount < ScreenHeight && !feof( input ); ++lineCount )\r         {       int length = fread( buffer[ lineCount ], sizeof (char), ScreenWidth, input );\r                  while ( --length >= 0 \r                                 && ( isspace( buffer[ lineCount ][ length ] ) \r                                          || !isprint( buffer[ lineCount ][ length ] ) ) )\r                              /* "empty" loop */;\r                    buffer[ lineCount ][ ++length ] = '\0';\r                }\r              if ( lineCount > 1 \r                     || ( lineCount == 1 && buffer[ 0 ][ 0 ] != '\0' ) )\r           {       while ( --lineCount > 0 && buffer[ lineCount ][ 0 ] == '\0' )\r                          /* "empty" loop */;\r                    for ( int line = 0; line <= lineCount; ++line )\r                                puts( buffer[ line ] );\r                        putchar( '\f' );\r               }\r      }\r\r     return EXIT_SUCCESS;\r}\r\r
\ No newline at end of file