Kleines problem :)



  • Hallo zusammen, habe neuerdings hiermit angefangen

    #define ST_OUTSIDE 0
    #define ST_IMAGE 1
    #define ST_OTHER 255
    
    MIRCFUNC formatinput(HWND mWnd, HWND aWnd, 
        char *data, char *parms, BOOL show, BOOL nopause)
    {
        long i = 0, j = 0, len = 0;
        int state = ST_OUTSIDE;
        char ret[901];
    
        while (*(data+(len++)) != 0);
        if (len > 900) return 1;
    
        while (i < len) {
    
           if (*(data+i) == '%')
               switch (state) {
                   case ST_OUTSIDE: 
                       if (*(data+i+1) == '%') ret[j++] = *(data+(i++));
                       else switch (*(data+i+1)) {
                           case 'I':
                               state = ST_IMAGE;
                               ret[j++] = '<';
                               i++;
                               break;
                           default:
                               state = ST_OTHER;
                      }
                      break;
                   case ST_IMAGE:
                       ret[j++] = '>';
                   case ST_OTHER:
                       state = ST_OUTSIDE;
               }
           else switch (state) {
               case ST_IMAGE:
               case ST_OUTSIDE:
                   ret[j++] = *(data+i);
               default:
               }
    
           ++i;   
    
           }
    
        ret[j] = 0; i = 0;
        while (*(data+(i++)) = ret[i]);
        return 3;
    }
    

    Weil perl etwas nalgweilig wurde 😮
    Ich verstehe nicht wo hier mein fehler ist....
    zeigt mir

    dllmain.c:139: error: label at end of compound statement

    an

    Diese dll soll, die PRIVMSG's aus mIRC auslesen und Korrigieren 🙂

    Währe nett wenn mir einer weiter helfen würde, ich danke jetzt schon mal für alle antworten 😉

    MFG
    Thomas



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Welche Zeile ist in deinem Beispiel 139?



  • Ronny2 schrieb:

    Welche Zeile ist in deinem Beispiel 139?

    else switch (state) {
               case ST_IMAGE:
               case ST_OUTSIDE:
                   ret[j++] = *(data+i);
               default:
            [e]rarr[/e]   } [e]larr[/e]
    

    also 41
    sorry verpeilt das reinzuschreiben 😉



  • Irgendwie unfair, daß du 50 Zeilen postest, der Fehler aber in Zeile 139 ist.
    However - es ist Zeile 40. Dort ist die default-Marke, aber nachher keine Anweisung.
    Also entweder default-Marke wegnehmen oder leere Anweisung danach machen.



  • bgdnoy schrieb:

    Irgendwie unfair, daß du 50 Zeilen postest, der Fehler aber in Zeile 139 ist.
    However - es ist Zeile 40. Dort ist die default-Marke, aber nachher keine Anweisung.
    Also entweder default-Marke wegnehmen oder leere Anweisung danach machen.

    Vielen dank!



  • So wie der swichteil da steht is er absulut sinnlos....


Anmelden zum Antworten