mud/extra/crat/d.c
2020-09-06 05:43:07 -07:00

56 lines
2.6 KiB
C

#include <lib.h>
#include <save.h>
inherit LIB_DAEMON;
mixed pkginst, name, category, arch, version, desc, pstamp, instdate, status, basedir, vendor, hotline, email;
static void create() {
}
mixed b(string file){
string ret = "", foo = read_file(file);
string *foo_arr = explode(foo, "\n\n");
int i = 0;
string path = path_prefix(file);
string fname = last_string_element(file, "/");
string thingy;
tc("foo_arr: "+sizeof(foo_arr));
foreach(string tmp in foo_arr){
string tmp2, sub = "", *lines = explode(tmp, "\n");
pkginst = name = category = arch = version = desc = pstamp = instdate = status = basedir = vendor = hotline = email = 0;
foreach(string line in lines){
line = trim(line);
if(!strsrch(line, "PKGINST:")) pkginst = replace_string(line, "PKGINST: ", "") + "^";
if(!strsrch(line, "NAME:")) name = replace_string(line, "NAME: ", "") + "^";
if(!strsrch(line, "CATEGORY:")) category = replace_string(line, "CATEGORY: ", "") + "^";
if(!strsrch(line, "ARCH:")) arch = replace_string(line, "ARCH: ", "") + "^";
if(!strsrch(line, "VERSION:")) version = replace_string(line, "VERSION: ", "") + "^";
if(!strsrch(line, "DESC:")) desc = replace_string(line, "DESC: ", "") + "^";
if(!strsrch(line, "PSTAMP:")) pstamp = replace_string(line, "PSTAMP: ", "") + "^";
if(!strsrch(line, "INSTDATE:")) instdate = replace_string(line, "INSTDATE: ", "") + "^";
if(!strsrch(line, "STATUS:")) status = replace_string(line, "STATUS: ", "") + "^";
if(!strsrch(line, "BASEDIR:")) basedir = replace_string(line, "BASEDIR: ", "") + "^";
if(!strsrch(line, "VENDOR:")) vendor = replace_string(line, "VENDOR: ", "") + "^";
if(!strsrch(line, "HOTLINE:")) hotline = replace_string(line, "HOTLINE: ", "") + "^";
if(!strsrch(line, "EMAIL:")) email = replace_string(line, "EMAIL: ", "") + "^";
}
foreach(string element in ({"pkginst", "name", "category", "arch", "version", "basedir", "vendor", "desc", "pstamp", "instdate", "hotline", "status", "email"})){
mixed mx = fetch_variable(element);
string ret2;
if(!mx) ret2 = "NULL^";
else ret2 = mx;
sub += ret2;
}
i++;
//tc("file: "+file+i);
//write_file(file+i, ""+tmp);
//tc("\n\ntmp: "+tmp);
tc("\n\nsub: "+sub);
ret += sub + "\n";
}
thingy = path+"/"+time()+"_"+fname;
tc("thingy: "+thingy);
write_file(thingy, ret, 1);
}