add the base .rbuild files
[reactos.git] / reactos / subsys / system / cmd / strtoclr.c
diff --git a/reactos/subsys/system/cmd/strtoclr.c b/reactos/subsys/system/cmd/strtoclr.c
deleted file mode 100644 (file)
index b4601a5..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- *  STRTOCLR.C - read color (for color command and other)
- *
- *
- *  History:
- *
- *    07-Oct-1999 (Paolo Pantaleo)
- *        Started.
- *
- *
- */
-
-/*only
-BOOL StringToColor(LPWORD lpColor, LPTSTR*str)
-is to be called
-other are internal service functions*/
-
-
-#include <precomp.h>
-
-#define _B FOREGROUND_BLUE
-#define _G FOREGROUND_GREEN
-#define _R FOREGROUND_RED
-#define _I FOREGROUND_INTENSITY
-
-
-/*return values for chop_blank*/
-#define CP_OK                          0
-#define CP_BLANK_NOT_FOUND     1
-#define CP_END_OF_STRING       2
-
-#define SC_HEX 0x0100
-#define SC_TXT 0x0200
-
-
-
-typedef struct _CLRTABLE
-{
-       LPTSTR          name;
-       WORD            val;
-} CLRTABLE;
-
-
-CLRTABLE clrtable[] =
-{
-       {_T("bla")      ,0              },
-       {_T("blu")      ,_B             },
-       {_T("gre")      ,_G             },
-       {_T("cya")      ,_B|_G          },
-       {_T("red")      ,_R             },
-       {_T("mag")      ,_B|_R          },
-       {_T("yel")      ,_R|_G          },
-       {_T("whi")      ,_R|_G|_B       },
-       {_T("gra")      ,_I             },
-
-
-       {_T("0")        ,0              },
-       {_T("2")        ,_G             },
-       {_T("3")        ,_B|_G          },
-       {_T("4")        ,_R             },
-       {_T("5")        ,_B|_R          },
-       {_T("6")        ,_R|_G          },
-       {_T("7")        ,_R|_G|_B       },
-
-       {_T("8")        ,_I             },
-       {_T("9")        ,_I|_B          },
-       {_T("10")       ,_I|_G          },
-       {_T("11")       ,_I|_B|_G       },
-       {_T("12")       ,_I|_R          },
-       {_T("13")       ,_I|_B|_R       },
-       {_T("14")       ,_I|_R|_G       },
-       {_T("15")       ,_I|_R|_G|_B    },
-
-
-       /* note that 1 is at the end of list
-       to avoid to confuse it with 10-15*/
-       {_T("1")        ,_B             },
-
-       /*cyan synonimous*/
-       {_T("aqu")      ,_B|_G          },
-       /*magenta synonimous*/
-       {_T("pur")      ,_B|_R          },
-
-
-       {_T("")   ,0},
-};
-
-
-
-/*
-move string pointer to next word (skip all spaces)
-on erro retunr nonzero value
-*/
-static
-INT chop_blank(LPTSTR *arg_str)
-{
-
-       LPTSTR str;
-       str = _tcschr(*arg_str,_T(' '));
-       if(!str)
-       {
-               str = _tcschr (*arg_str, _T('\0'));
-               if(str != NULL)
-                       *arg_str=str;
-               return CP_BLANK_NOT_FOUND;
-       }
-
-
-
-       while(_istspace(*str))
-               str++;
-
-       if (*str == _T('\0'))
-       {
-               *arg_str=str;
-               return CP_END_OF_STRING;
-       }
-
-       *arg_str = str;
-
-       return CP_OK;
-}
-
-
-
-/*
-read a color value in hex (like win nt's cmd syntax)
-if an error occurs return -1
-*/
-static
-WORD hex_clr(LPTSTR str)
-{
-       WORD ret= (WORD)-1;
-       TCHAR ch;
-
-       ch = str[1];
-
-       if(_istdigit(ch))
-               ret = ch-_T('0');
-       else
-       {
-               ch=_totupper(ch);
-
-               if(  ch >= _T('A') && ch <= _T('F')  )
-                       ret = ch-_T('A')+10;
-               else
-                       return (WORD)-1;
-       }
-
-
-       ch = str[0];
-
-       if(_istdigit(ch))
-               ret |= (ch-_T('0')) << 4;
-       else
-       {
-               ch=_totupper(ch);
-
-               if(  ch >= _T('A') && ch <= _T('F')  )
-                       ret |= (ch-_T('A')+10) <<4;
-               else
-                       return (WORD)-1;
-       }
-
-       return ret;
-}
-
-
-/*
-read a color value from a string (like 4nt's syntax)
-if an error occurs return -1
-*/
-static
-WORD txt_clr(LPTSTR str)
-{
-       INT i;
-
-       for(i = 0; *(clrtable[i].name); i++)
-               if (_tcsnicmp(str, clrtable[i].name, _tcslen(clrtable[i].name)) == 0)
-                       return clrtable[i].val;
-
-       return (WORD)-1;
-}
-
-
-
-/*search for x on y*/
-static
-WORD str_to_color(LPTSTR* arg_str)
-{
-       LPTSTR str;
-       BOOL bBri;
-
-       WORD tmp_clr,ret_clr;
-
-       str = *arg_str;
-
-       if (!(*str))
-               return (WORD)-1;
-
-
-       /*foreground*/
-       bBri = FALSE;
-
-       if (_tcsnicmp(str,_T("bri"),3) == 0)
-       {
-               bBri = TRUE;
-
-               if (chop_blank(&str))
-                       return (WORD)-1;
-       }
-
-       if ((tmp_clr = txt_clr(str)) == (WORD)-1)
-       {
-               return (WORD)-1;
-       }
-
-       /*skip spaces and "on"*/
-       if (chop_blank(&str) || chop_blank(&str))
-               return (WORD)-1;
-
-       ret_clr = tmp_clr | (bBri << 3);
-
-       /*background*/
-       bBri = FALSE;
-
-       if(_tcsnicmp(str,_T("bri"),3) == 0 )
-       {
-               bBri = TRUE;
-
-               if(chop_blank(&str))
-                       return (WORD)-1;
-       }
-
-
-       if( (tmp_clr = txt_clr(str)) == (WORD)-1 )
-               return (WORD)-1;
-
-       chop_blank(&str);
-
-       *arg_str = str;
-
-       return SC_HEX | ret_clr | tmp_clr << 4 | bBri << 7;
-}
-
-
-
-/****main function****/
-/*
-the only parameter is arg_str, a pointer to a string.
-the string is modified so it will begin to first word after
-color specification
-(only the char* is moved, no chars in the string are modfied)
-
-
-it returns the color in the l.o. byte, plus two flags in the
-h.o. byte, they are:
-SC_HEX win nt's cmd syntax (for exampl a0)
-SC_TXT 4nt's syntax ( "bri gre on bla" or "10 on 0")
-
-if succedes also move the LPTSTR to end of
-string that specify color
-*/
-
-
-BOOL StringToColor(LPWORD lpColor, LPTSTR*str)
-{
-       WORD wRet;
-
-       wRet = str_to_color (str);
-       if (wRet == (WORD)-1)
-       {
-               wRet=hex_clr (*str);
-               chop_blank (str);
-               if (wRet == (WORD)-1)
-                       return FALSE;
-       }
-
-       *lpColor = wRet;
-
-       return TRUE;
-}
-
-/* EOF */