01 U8 **ParseMotd(U8 *str, I64 *argc)
02 {
03   I64 _argc = 0;
04   U8 **_argv = NULL;
05   U8 **_tmp = CAlloc(sizeof(U64) * StrLen(str));
06   I64 i = 0;
07   I64 s = 0;
08   I64 len;
09   while (i < StrLen(str) + 1)
10     {
11     switch (str[i])
12       {
13       case 0:
14       case '\n':
15         len = (str + i)-(str + s - 1);
16         if (len - 1)
17           {
18           _tmp[_argc] = CAlloc(len);
19           MemCpy(_tmp[_argc], str + s, len-1);
20           _argc++;
21         }
22         s = i + 1;
23         break;
24       default:
25         break;
26     }
27     i++;
28   }
29   *argc = _argc;
30   _argv = CAlloc(sizeof(U64) * _argc);
31   MemCpy(_argv, _tmp, sizeof(U64) * _argc);
32   Free(_tmp);
33   Free(str);
34   return _argv;
35 }
36 
37 I64 motd_line_cnt;
38 U8 **motd_lines = ParseMotd(StrUtil(FileRead("Motd.TXT"),SUF_REM_CTRL_CHARS), &motd_line_cnt);