MinGW GCC: “Caractere de tipo de conversão desconhecido 'h'” (snprintf)

Ok, eu me deparei com um estranho problema ao compilar um arquivo C com MinGW (GCC 4.6.2) no Windows 7. O arquivo em questão contém o seguinte código C:

#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("%2hhX\n", 250);
    char c[80];
    snprintf(c, sizeof(c), "%2hhX", 250);
    printf("%s\n", c);
    return 0;
}

A compilação é assim:

$ gcc.exe -std=c99 -pedantic -Wall test.c
test.c: In function 'main':
test.c:6:2: warning: unknown conversion type character 'h' in format [-Wformat]
test.c:6:2: warning: too many arguments for format [-Wformat-extra-args]

Agora, o que é estranho para mim é que se queixa dosnprintf chamar na linha 6, mas não oprintf ligar para a linha 4. Estou faltando alguma coisa ou o aviso está incorreto? Além disso, há talvez um equivalente melhor para a string de formato"%2hhX"? (Estou tentando imprimir variáveis ​​char como valores hexadecimais).

questionAnswers(2)

yourAnswerToTheQuestion