So verhindern Sie, dass der Einzug der GNU die Initialisierungszuordnung wie "= " bricht

495
pynexj

Siehe folgendes Beispiel.

$ indent --version GNU indent 2.2.10 $ cat foo.c void foo() { struct { int a; int b; } v = { 0 }; } $ indent -st foo.c void foo () { struct { int a; int b; } v = { 0}; } $ 

Ich möchte nicht = { 0 };formatiert werden

= { 0}; 
0

1 Antwort auf die Frage

1
tah

Dies ist auch bei 2.2.11 der Fall. Beim Blick in den Code scheint es ein Fehler zu sein, bei dem Blockinitialisierer nicht richtig erkannt werden. In diesem Fall erzwingt der Einzug nach dem '{' eine neue Zeile. Ich habe in den letzten Tagen herumgehackt und diesen Fehler in meiner Arbeitskopie so behoben, dass Ihre Datei wie folgt formatiert wurde:

$ src/indent -npro -st foo.c void foo () { struct { int a; int b; } v = { 0 }; } 

Schauen Sie sich meine Arbeitskopie an und probieren Sie es aus. Andernfalls müssen Sie wahrscheinlich warten, bis der Upstream behoben ist.