_() Funktion in Standardbib-Quellcodes?
-
Guten Abend zusammen,
ich stoße beim Betrachten der Quelltexte der Standardprogramme wie "echo", "true" usw. immer wieder auf diese Funktion: _()
Die folgenden Codeauszüge sind aus dem Quellcode "true.c". Ich weiß allerdings nicht welche Implementierung der Standardbibliothek ich habe, bloß dass es die eines unveränderten Ubuntu 11.04 ist.
Ich hab gesehen dass der Funktion einmal eine Zeichenkette übergeben wurde..
printf(_("Usage: %s [ignored command line arguments]\nor: %s OPTION\n"), program_name, program_name);
Ein ander mal ein Wahrheitwert..
Edit: Titel geändert
_(EXIT_STATUS == EXIT_SUCCESS ? N_("Exit with a status code indicating success.") : N_("Exit with a status code indicating failure."))
Und in obigem Code kommt dann noch diese Funktion N_() hinzu.
Diese Header werden eingebunden:
#include <config.h> #include <stdio.h> #include <sys/types.h> #include "system.h"
Da nicht alle zur Standardbibliothek gehören, sind sie auch nicht auf meinem System vorhanden, sodass ich nicht nach der Funktionsdeklaration suchen kann.
Mit Google komm ich nicht sehr weit wenn ich "c _() function" eingebe.. Daher der Post.
Hoffe jemand kann mir sagen wo diese Funktion definiert ist und was sie macht. Zumindest ist sie nicht in <stdio.h> deklariert.
MfG Tobi.
-
Ich tippe mal darauf, dass das zur Lokalisierung ist. gettext?