pike.git
/
src
/
dumpmaster.pike
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/dumpmaster.pike:1:
#define UNDEFINED (([])[0]) string fr;
+
array encoded=({});
+
void handle_error(mixed err) {
-
+
foreach(encoded, mixed o)
+
{
+
werror("***Failed to encode %t: %O\n",o,o);
+
#if constant(_describe)
+
_describe(o);
+
#endif
+
}
+
werror("%O\n",err); } void compile_error(string file,int line,string err) { werror(sprintf("%s:%s:%s\n",file, line?(string)line:"-",err)); } string fakeroot(string s) {
pike.git/src/dumpmaster.pike:26:
program compile_file(string file) { return compile(cpp(read_file(file),file)); } class Codec { string nameof(string x) { if(mixed tmp=search(all_constants(),x)) return tmp;
+
encoded+=({x});
return UNDEFINED; } } void _main(string *argv, string *env) { foreach(argv[1..sizeof(argv)-2], string f) sscanf(f,"--fakeroot=%s",fr); program p=compile_file(argv[-1]); string s=encode_value(p, Codec()); _static_modules.files()->Fd(fakeroot(argv[-1]) + ".o","wct")->write(s); exit(0); } mixed resolv() { return ([])[0]; }