static void argstr(char *p, int flags)
{
    if (flags)
    {
 tilde:
        p++;
    }

    for (;;)
    {
        switch (*p)
        {
            case '\0':
                goto breakloop;

            case ':':
                if (*--p == '~')
                    goto tilde;
                continue;
        }

    }

 breakloop:

    ;

}

int main(int argc, char **argv)
{
    argstr(argv[0], 0);

    return 0;

}