TempleOSCDV5.01.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:48:15 +02:00
1 parent f6eacf7744
commit 320c7ee98a
219 files changed
+5211 -4853

No files matched your search

+35 -14
View File
@@ -1,4 +1,4 @@
#help_index "Misc/Registry"
#help_index "Registry"
#define REGISTRY_FILENAME "~/Registry.HC.Z"
CDoc *sys_registry_doc=NULL;
I64 sys_msg_flags[1]={0};
@@ -145,7 +145,8 @@ U0 RegInit()
}
}
#help_index "Boot/Once;Misc/Once"
#help_index "Boot/Once;Registry/Once"
#help_file "::/Doc/Once"
public U0 AOnceFlush()
{//Flush AOnce() buf.
@@ -158,51 +159,71 @@ public U0 OnceFlush()
}
public U0 AOnce(U8 *fmt,...)
{//Writes Adam code to $LK,"Registry",A="FI:~/Registry.HC"$ to be executed next boot.
{//Add Adam code to $LK,"~/Registry.HC"$, executed next boot.
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
if (!Bt(&sys_run_level,RLf_ONCE_ADAM))
AOnceFlush;
RegAppend("Once/Adam","%s\n",buf);
Free(buf);
}
public U0 Once(U8 *fmt,...)
{//Writes User code to $LK,"Registry",A="FI:~/Registry.HC"$ to be executed next boot.
{//Add User code to $LK,"~/Registry.HC"$, executed next boot.
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
if (!Bt(&sys_run_level,RLf_ONCE_USER))
OnceFlush;
RegAppend("Once/User","%s\n",buf);
Free(buf);
}
public U0 AOnceDrv(U8 drv_let=0,U8 *fmt,...)
{//Writes Adam code to drv $LK,"Registry",A="FI:~/Registry.HC"$ to be executed next boot.
{//Add Adam code to drv $LK,"~/Registry.HC"$, executed next boot.
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
I64 old_drv_let=*sys_registry_doc->filename.name;
if (drv_let)
*sys_registry_doc->filename.name=drv_let;
if (!Bt(&sys_run_level,RLf_ONCE_ADAM))
AOnceFlush;
RegAppend("Once/Adam","%s\n",buf);
Free(buf);
*sys_registry_doc->filename.name=old_drv_let;
}
public U0 OnceDrv(U8 drv_let=0,U8 *fmt,...)
{//Writes User code to drv $LK,"Registry",A="FI:~/Registry.HC"$ to be executed next boot.
{//Add User code to drv $LK,"~/Registry.HC"$, executed next boot.
U8 *buf=StrPrintJoin(NULL,fmt,argc,argv);
I64 old_drv_let=*sys_registry_doc->filename.name;
if (drv_let)
*sys_registry_doc->filename.name=drv_let;
if (!Bt(&sys_run_level,RLf_ONCE_USER))
OnceFlush;
RegAppend("Once/User","%s\n",buf);
Free(buf);
*sys_registry_doc->filename.name=old_drv_let;
}
public U0 OnceExe()
{//Execute Once code. This goes in $LK,"~/Once.HC"$.
RegDft("Once/Adam","");
if (RegCnt("Once/Adam")>2) {
Adam("RegExe(\"Once/Adam\");");
{//Execute Once code. Call goes in $LK,"~/Once.HC"$.
try {
RegDft("Once/Adam","");
if (RegCnt("Once/Adam")>2) {
Adam("RegExe(\"Once/Adam\");");
AOnceFlush;
}
LBts(&sys_run_level,RLf_ONCE_ADAM);
RegDft("Once/User","");
if (RegCnt("Once/User")>2) {
RegExe("Once/User");
OnceFlush;
}
LBts(&sys_run_level,RLf_ONCE_USER);
} catch {
AOnceFlush;
}
RegDft("Once/User","");
if (RegCnt("Once/User")>2) {
RegExe("Once/User");
LBts(&sys_run_level,RLf_ONCE_ADAM);
OnceFlush;
LBts(&sys_run_level,RLf_ONCE_USER);
}
}