aboutsummaryrefslogtreecommitdiff
path: root/project/dclib/lib-mkw.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2022-12-25 08:25:56 +0100
committerWiimm <wiimm@wiimm.de>2022-12-25 08:25:56 +0100
commit7d8344f3637d59b982c2ca0b1d8fd2889ec5d4a6 (patch)
tree19b070a98ba1d659b64c19e3402038bc76e11b47 /project/dclib/lib-mkw.c
parent0e143e393d99ebb00cb14ffaa4c50efeec3729f1 (diff)
SZS v2.32a
Diffstat (limited to 'project/dclib/lib-mkw.c')
-rw-r--r--project/dclib/lib-mkw.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/project/dclib/lib-mkw.c b/project/dclib/lib-mkw.c
index bdbf80b..610e0d1 100644
--- a/project/dclib/lib-mkw.c
+++ b/project/dclib/lib-mkw.c
@@ -1447,6 +1447,76 @@ ccp PrintLEFL16 ( le_flags_t flags, bool aligned )
//
///////////////////////////////////////////////////////////////////////////////
+/////////////// distribution flags ///////////////
+///////////////////////////////////////////////////////////////////////////////
+
+DistribFlags_t ScanDTA ( ccp text )
+{
+ // automatic flags are not scannend!
+
+ DistribFlags_t res = 0;
+ if (text)
+ {
+ while ( *text )
+ {
+ const int ch = tolower(*text++);
+ switch (ch)
+ {
+ case 'b': res |= G_DTA_BOOST; break;
+ case 'n': res |= G_DTA_NEW; break;
+ case 'a': res |= G_DTA_AGAIN; break;
+ case 'u': res |= G_DTA_UPDATE; break;
+ case 'f': res |= G_DTA_FILL; break;
+ case 'd': res |= G_DTA_IS_D; break;
+ case 't': res |= G_DTA_TITLE; break;
+ case 'h': res |= G_DTA_HIDDEN; break;
+ case 'o': res |= G_DTA_ORIGINAL; break;
+ }
+ }
+ }
+ return res;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+ccp PrintDTA ( DistribFlags_t flags, bool aligned )
+{
+ char *buf = GetCircBuf(10);
+
+ if (aligned)
+ {
+ buf[0] = flags & G_DTA_BOOST ? 'B' : '-';
+ buf[1] = flags & G_DTA_NEW ? 'N' : '-';
+ buf[2] = flags & G_DTA_AGAIN ? 'A' : '-';
+ buf[3] = flags & G_DTA_UPDATE ? 'U' : '-';
+ buf[4] = flags & G_DTA_FILL ? 'F' : '-';
+ buf[5] = flags & G_DTA_IS_D ? 'd' : '-';
+ buf[6] = flags & G_DTA_TITLE ? 't' : '-';
+ buf[7] = flags & G_DTA_HIDDEN ? 'h' : '-';
+ buf[8] = flags & G_DTA_ORIGINAL ? 'o' : '-';
+ buf[9] = 0;
+ }
+ else
+ {
+ char *d = buf;
+ if ( flags & G_DTA_BOOST ) *d++ = 'B';
+ if ( flags & G_DTA_NEW ) *d++ = 'N';
+ if ( flags & G_DTA_AGAIN ) *d++ = 'A';
+ if ( flags & G_DTA_UPDATE ) *d++ = 'U';
+ if ( flags & G_DTA_FILL ) *d++ = 'F';
+ if ( flags & G_DTA_IS_D ) *d++ = 'd';
+ if ( flags & G_DTA_TITLE ) *d++ = 't';
+ if ( flags & G_DTA_HIDDEN ) *d++ = 'a';
+ if ( flags & G_DTA_ORIGINAL ) *d++ = 'o';
+ if ( d == buf )
+ *d++ = '-';
+ *d = 0;
+ }
+ return buf;
+}
+
+//
+///////////////////////////////////////////////////////////////////////////////
/////////////// random slots ///////////////
///////////////////////////////////////////////////////////////////////////////