TempleOSCD_140715.ISO
This commit is contained in:
1 parent
7ef616a20e
commit
64f679eeb9
1095 files changed
+24814
-221011
No files matched your search
+46
-53
@@ -1,5 +1,5 @@
|
||||
U8 *Tabs2Spaces(U8 *src)
|
||||
{
|
||||
{//MAlloc str with tabs to spaces.
|
||||
I64 ch,i,j,l=StrLen(src)<<1+2,col=0;
|
||||
U8 *dst=MAlloc(l),*temp;
|
||||
while (ch=*src++) {
|
||||
@@ -33,7 +33,7 @@ U8 *Tabs2Spaces(U8 *src)
|
||||
}
|
||||
|
||||
U8 *ScaleIndent(U8 *src,F64 indent_scale_factor)
|
||||
{
|
||||
{//MAlloced str. 8*0.25-->2 or 8*2.0-->16
|
||||
I64 ch,i,col=0;
|
||||
U8 *dst,*dst2;
|
||||
while (ch=*src++) {
|
||||
@@ -56,8 +56,7 @@ U8 *ScaleIndent(U8 *src,F64 indent_scale_factor)
|
||||
}
|
||||
|
||||
U8 *MStrUtil(U8 *src,I64 flags,F64 indent_scale_factor=0)
|
||||
//Return a $LK,"MAlloc",A="MN:MAlloc"$()ed result from StrUtil
|
||||
{
|
||||
{//MAlloc $LK,"StrUtil",A="MN:StrUtil"$().
|
||||
U8 *dst=StrNew(src),*dst2,*temp;
|
||||
StrUtil(dst,flags);
|
||||
if (flags & SUF_T2S) {
|
||||
@@ -68,16 +67,16 @@ U8 *MStrUtil(U8 *src,I64 flags,F64 indent_scale_factor=0)
|
||||
if (flags & SUF_SCALE_INDENT)
|
||||
dst2=ScaleIndent(dst,indent_scale_factor);
|
||||
else
|
||||
dst2=StrNew(dst); //Shorten
|
||||
dst2=StrNew(dst); //Shorten to just right size.
|
||||
Free(dst);
|
||||
return dst2;
|
||||
}
|
||||
|
||||
U0 GetOutOfDollar()
|
||||
{
|
||||
{//If a $$ has been printed, print another $$ to exit mode.
|
||||
CDoc *doc;
|
||||
if (IsRaw) {
|
||||
if (sys_raw_flags&RWF_IN_DOLLAR)
|
||||
if (text.raw_flags&RWF_IN_DOLLAR)
|
||||
'$$';
|
||||
} else {
|
||||
if (fp_doc_put && (doc=(*fp_doc_put)(Fs)) && doc->flags&DOCF_IN_DOLLAR)
|
||||
@@ -85,20 +84,8 @@ U0 GetOutOfDollar()
|
||||
}
|
||||
}
|
||||
|
||||
U0 NewLine(I64 cnt=1)
|
||||
{
|
||||
while (cnt-->0)
|
||||
'\n';
|
||||
}
|
||||
|
||||
U0 Spaces(I64 cnt=1)
|
||||
{
|
||||
while (cnt-->0)
|
||||
'' CH_SPACE;
|
||||
}
|
||||
|
||||
Bool YorN()
|
||||
{
|
||||
{//Wait for user to answer Y or N.
|
||||
I64 ch;
|
||||
"(y or n)? ";
|
||||
while (TRUE) {
|
||||
@@ -114,73 +101,79 @@ Bool YorN()
|
||||
}
|
||||
|
||||
I64 PressAKey()
|
||||
{
|
||||
{//Print "Press a key" and wait for non-zero $LK,"ASCII",A="MN:CH_CTRLA"$ key.
|
||||
"$$BK,1$$PRESS A KEY$$BK,0$$\n";
|
||||
return GetChar(,FALSE);
|
||||
}
|
||||
|
||||
Bool AreYouSure()
|
||||
{
|
||||
{//Print "Are you sure" and waits for Y or N.
|
||||
"ARE YOU SURE ";
|
||||
return YorN;
|
||||
}
|
||||
|
||||
U0 Help()
|
||||
{
|
||||
{//Dbg help or master help index file.
|
||||
if (IsDbg)
|
||||
DbgHelp;
|
||||
else
|
||||
PopUp("Type(\"::/Doc/HelpIndex.TXT\");DocHome;View;");
|
||||
PopUp("Type(\"::/Doc/HelpIndex.TXT\");DocTop;View;");
|
||||
}
|
||||
|
||||
U0 ScanFlags(U8 *_dst_flags,U8 *lst,U8 *src)
|
||||
{/*More than 64 flags. Flags passed by ref.
|
||||
|
||||
U0 ScanFlags(U8 *f,U8 *lst,U8 *st)
|
||||
{
|
||||
Examples:
|
||||
$LK,"ScanFlags",A="FF:::/Adam/Utils/Diff.CPP,ScanFlags:2"$(&fuf_flags,Define("ST_FILE_UTIL_FLAGS"),fu_flags);
|
||||
|
||||
I64 flags=0;
|
||||
ScanFlags(&flags,"R\0L\0Dump\0Scan\0","+Dump-R"); //Sets Bit#2, Clears Bit#0.
|
||||
*/
|
||||
I64 i;
|
||||
U8 *st2,*ptr;
|
||||
if (st) {
|
||||
st2=MAlloc(StrLen(st)+1);
|
||||
while (*st) {
|
||||
while (*st && *st!='+' && *st!='-')
|
||||
st++;
|
||||
if (*st=='+') {
|
||||
st++;
|
||||
if (*st) {
|
||||
ptr=st2;
|
||||
while (*st && *st!='+' && *st!='-' && *st!=CH_SPACE && *st!=CH_SHIFT_SPACE)
|
||||
*ptr++=*st++;
|
||||
U8 *buf,*ptr;
|
||||
if (src) {
|
||||
buf=MAlloc(StrLen(src)+1);
|
||||
while (*src) {
|
||||
while (*src && *src!='+' && *src!='-')
|
||||
src++;
|
||||
if (*src=='+') {
|
||||
src++;
|
||||
if (*src) {
|
||||
ptr=buf;
|
||||
while (*src && *src!='+' && *src!='-' && *src!=CH_SPACE && *src!=CH_SHIFT_SPACE)
|
||||
*ptr++=*src++;
|
||||
*ptr=0;
|
||||
i=LstMatch(st2,lst);
|
||||
i=LstMatch(buf,lst);
|
||||
if (i>=0)
|
||||
LBts(f,i);
|
||||
LBts(_dst_flags,i);
|
||||
else {
|
||||
Free(st2);
|
||||
Free(buf);
|
||||
throw('ScanFlag');
|
||||
}
|
||||
}
|
||||
} else if (*st=='-') {
|
||||
st++;
|
||||
if (*st) {
|
||||
ptr=st2;
|
||||
while (*st && *st!='+' && *st!='-' && *st!=CH_SPACE && *st!=CH_SHIFT_SPACE)
|
||||
*ptr++=*st++;
|
||||
} else if (*src=='-') {
|
||||
src++;
|
||||
if (*src) {
|
||||
ptr=buf;
|
||||
while (*src && *src!='+' && *src!='-' && *src!=CH_SPACE && *src!=CH_SHIFT_SPACE)
|
||||
*ptr++=*src++;
|
||||
*ptr=0;
|
||||
i=LstMatch(st2,lst);
|
||||
i=LstMatch(buf,lst);
|
||||
if (i>=0)
|
||||
LBtr(f,i);
|
||||
LBtr(_dst_flags,i);
|
||||
else {
|
||||
Free(st2);
|
||||
Free(buf);
|
||||
throw('ScanFlag');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Free(st2);
|
||||
Free(buf);
|
||||
}
|
||||
}
|
||||
|
||||
U8 *SPrintFlags(U8 *dst,U8 *lst,I64 flags)
|
||||
{
|
||||
U8 *StrPrintFlags(U8 *dst,U8 *lst,I64 flags)
|
||||
{//Only 64 flags. Flags passed by value.
|
||||
I64 i;
|
||||
*dst=0;
|
||||
while (flags) {
|
||||
|
||||
Reference in new issue
Block a user