2011-04-26 174 views
2

我正在編寫一個linux內核模塊,並試圖使用astyle來幫助我遵循編碼標準。這似乎是錯誤地格式化spi_driver結構,我想知道是否有人知道爲什麼。這是傳遞給的astyle(用命令astyle --style=linux lightmod.c)之前的代碼:Astyle代碼格式化

static struct spi_driver light_driver = { 
    .driver = { 
      .name = "light", 
      .owner = THIS_MODULE, 
    }, 
    .probe = light_probe, 
    .remove = __devexit_p(light_remove), 
}; 

這是輸出:

static struct spi_driver light_driver = { 
    .driver = { 
      .name = "light", 
      .owner = THIS_MODULE, 
    }, 
    .probe = light_probe, 
      .remove = __devexit_p(light_remove), 
       }; 

爲什麼縮進.remove這樣?有人知道嗎?

+1

我冒昧地添加了一個'[astyle]'標籤並添加了一個鏈接。請確認我鏈接的是正確的東西。 :) – 2011-04-26 19:27:03

+0

如果您的代碼使用選項卡,則可能需要在使用astyle之前將其替換爲空格。或者,也許在astyle中有一個選項讓它知道標籤。 – karlphillip 2011-04-26 19:49:48

+0

我的代碼確實使用空格而不是製表符;所以不是這樣。 也,鏈接是正確的,謝謝。 – 2011-04-26 20:12:54

回答

1

我不認爲這有很深的理由。 Astyle似乎無法正確處理C99的指定初始化器。如果使用oldstyle初始值設定項,則會將它們格式化爲好。

+2

這在2017年仍然如此。 – sherrellbc 2017-07-26 19:50:00