#include <stdio.h>
#include <stdlib.h>

#define DEBUG

int parse(char string[]);

int parse(char string[])
{
    int color[4] = {0,0,0,0};

    char Rbuffer[3];
    char Gbuffer[3];
    char Bbuffer[3];
    char Wbuffer[3];

    if(string[0] == '*' && string[16] == '#')
    {
        #ifdef DEBUG
            printf("\nstring start und ende gefunden");
        #endif // DEBUG
        if(string[4] == ',' && string[8] == ',' && string[12] == ',')
        {
            #ifdef DEBUG
                printf("\nkomma parsung okay");
            #endif // DEBUG

            Rbuffer[0] = string[1];
            Rbuffer[1] = string[2];
            Rbuffer[2] = string[3];

            Gbuffer[0] = string[5];
            Gbuffer[1] = string[6];
            Gbuffer[2] = string[7];

            Bbuffer[0] = string[9];
            Bbuffer[1] = string[10];
            Bbuffer[2] = string[11];

            Wbuffer[0] = string[13];
            Wbuffer[1] = string[14];
            Wbuffer[2] = string[15];

            color[0] = atoi(Rbuffer);
            color[1] = atoi(Gbuffer);
            color[2] = atoi(Bbuffer);
            color[3] = atoi(Wbuffer);
        }
        else
        {
            #ifdef DEBUG
                printf("\nkomma parsung nicht okay");
            #endif // DEBUG
            return 1;
        }
    }
    else
    {
        #ifdef DEBUG
            printf("\nstring nicht vollstaendig!");
        #endif // DEBUG
        return 1;
    }
    #ifdef DEBUG
        printf("\nStartstring: %s", string);
        printf("\nR: %i",color[0]);
        printf("\nG: %i",color[1]);
        printf("\nB: %i",color[2]);
        printf("\nW: %i",color[3]);
    #endif // DEBUG
    return 0;
}

int main()
{
    printf("start\n");

    parse("*127,255,001,111#");

    return 0;
}
