Ciao a tutti, in un esercizio mi si chiede di scrivere un programma che legge continuamente dallo standard input righe di testo terminate da \n, e far terminare il programma quando inserisco una riga vuota.

Cercando informazioni ho trovato che per leggere righe di testo posso usare la funzione
codice:
fgets(destinazione, dimensione, stdin)
che mi sembra di aver capito legge stringhe digitate da tastiera della dimensione massima di "dimensione" e la salva in "destinazione" terminando ogni stringa con \n.

Quello che non mi è chiaro è come far riconoscere la stringa vuota e quindi far terminare il programma.
Quello che ho provato a scrivere è questo:
codice:
#include <stdio.h>

#define BUFFER_LENGTH 255

int main(int argc, char *argv[]) {
    char buffer[BUFFER_LENGTH];
    while(buffer!=NULL){
        fgets(buffer, BUFFER_LENGTH, stdin);
    }
    return 0;
}
ma sia con NULL che con "" non esce dal while.
Mi potreste dare una mano?
Grazie mille