Skip to content
Snippets Groups Projects
Select Git revision
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • new_user_dat
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

asc_handler.js

Blame
    • Rob Swindell's avatar
      c47b2a79
      Remove old CVS tags, increment revision/version numbers where used · c47b2a79
      Rob Swindell authored
      The details (dates, author, revision numbers) are often stale and
      misleading, so start removing them. Where the Revision tag was used
      for a version/revision, just bump it by one and use a string constant
      instead (Git doesn't provide any similar facility for auto-incrementing
      revision numbers).
      
      More remains. Perhaps a commit hook to alert me when committing that I should
      clean up as I go rather than try to do this in bulk. <shrug>
      c47b2a79
      History
      Remove old CVS tags, increment revision/version numbers where used
      Rob Swindell authored
      The details (dates, author, revision numbers) are often stale and
      misleading, so start removing them. Where the Revision tag was used
      for a version/revision, just bump it by one and use a string constant
      instead (Git doesn't provide any similar facility for auto-incrementing
      revision numbers).
      
      More remains. Perhaps a commit hook to alert me when committing that I should
      clean up as I go rather than try to do this in bulk. <shrug>
    asc_handler.js 1.37 KiB
    // This module converts ANSI, Ex-ASCII, and Ctrl-A encoded files to HTML
    
    // The filename to encode may be passed on the command-line (e.g. running
    // this module using jsexec) or as an http-requested document (e.g. running
    // this module as a "web handler").
    
    // This module can be used as a "web handler" (automatically converting
    // *.asc and *.ans files on the fly), by adding the following lines to
    // the [JavaScript] section of your ctrl/web_handler.ini file:
    // asc = asc_handler.js
    // ans = asc_handler.js
    
    var filename;
    
    if(this.http_request!=undefined)	/* Requested through web-server */
    	filename = http_request.real_path;
    else
    	filename = argv[0];
    
    var file = new File(filename);
    if(!file.open("r",true,8192)) {
    	writeln("!ERROR " + file.error + " opening " + filename);
    	exit();
    }
    var text = file.readAll(8192);
    file.close();
    writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">');
    writeln("<html>");
    writeln("<head>");
    writeln("<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>");
    writeln("<title>"+file.name.replace(/^.*[\/\\]/,'')+"</title>");
    writeln("</head>");
    writeln('<body style="background-color: black;">');
    writeln('<pre style="font-family: Courier New, monospace">');
    write(html_encode(text.join("\r\n")
    	,/* es-ASCII: */true
    	,/* white-sp: */false
    	,/* ANSI:     */true
    	,/* Ctrl-A:   */true));
    writeln("</pre>");
    writeln("</body>");
    writeln("</html>");