Difference between revisions of "C.php"

From Organic Design wiki
m
(allow gcc switches in query-string)
Line 8: Line 8:
 
$src = $htdocs.'wiki/source.c';
 
$src = $htdocs.'wiki/source.c';
 
$gcc = '/usr/bin/gcc';  // diagnostics please
 
$gcc = '/usr/bin/gcc';  // diagnostics please
 +
if ($switches = $_REQUEST['switches']) $gcc .= " $switches";
 
$out = $htdocs.'wiki/a.out';
 
$out = $htdocs.'wiki/a.out';
 
$info = $htdocs.'wiki/a.txt';
 
$info = $htdocs.'wiki/a.txt';

Revision as of 05:39, 24 June 2006

<?

  1. C compiler for XmlWiki Environment

xwSetProperty($properties,'language','TEXT'); $server = $_SERVER['HTTP_HOST']; $htdocs = $_SERVER['DOCUMENT_ROOT']; if ( !ereg( "\\/$", $htdocs ) ) $htdocs .= '/';

$src = $htdocs.'wiki/source.c'; $gcc = '/usr/bin/gcc'; // diagnostics please if ($switches = $_REQUEST['switches']) $gcc .= " $switches"; $out = $htdocs.'wiki/a.out'; $info = $htdocs.'wiki/a.txt';

// Write the source to tmp file source.c if ($handle = fopen($src, 'w+')) {

   fwrite($handle, "$article\n");
   fclose($handle);
   }

// Compile & excecute $article = "Compiling using $gcc\n\n"; shell_exec("$gcc $src 1>$info 2>$info"); $article .= file_get_contents($info); $article .= "\n\nExecuting compiled result:\n"; $article .= shell_exec("$out 2>&1"); ?>