CHDK_DE Vorschauversion  Trunk Rev. 5830
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
lang.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Funktionen

void lang_init (int num)
 
void lang_load_from_file (const char *filename)
 
void lang_map_preparsed_from_mem (char *gui_lang_default, int num)
 
char * lang_str (int str)
 
unsigned int lang_strhash31 (int langid)
 

Dokumentation der Funktionen

void lang_init ( int  num)

Definiert in Zeile 32 der Datei lang.c.

32  {
33 
34  if (strings) {
35  free(strings);
36  count = 0;
37  }
38 
39  ++num;
40  strings = malloc(num*sizeof(short));
41  if (strings) {
42  memset(strings, 0, num*sizeof(short));
43  count = num;
44  }
45 
46 }
void lang_load_from_file ( const char *  filename)

Definiert in Zeile 201 der Datei lang.c.

201  {
202  process_file(filename, lang_parse_from_mem, 1);
203 }
void lang_map_preparsed_from_mem ( char *  gui_lang_default,
int  num 
)

Definiert in Zeile 190 der Datei lang.c.

191 {
192 
193  preparsed_lang_default_start = gui_lang_default;
194  lang_init( num );
195  // preparsed_lang_default_end = // variable not currently needed
197 
198 }
char* lang_str ( int  str)

Definiert in Zeile 207 der Datei lang.c.

207  {
208  if (str && str<MAX_LANGID) {
209  if (strings && str<count && strings[str]) {
210  if (strings[str]>0) {
211  // string from builtin resource
213  }
214  else if (langbuf) {
215  // string from loaded lang file
216  return langbuf - strings[str] - 1;
217  }
218  }
219  } else { // not ID, just char*
220  return (char*)str;
221  }
222  return "";
223 }
unsigned int lang_strhash31 ( int  langid)

Definiert in Zeile 227 der Datei lang.c.

228 {
229  if ( langid<MAX_LANGID )
230  return langid;
231 
232  unsigned char* str = (unsigned char*)langid;
233  unsigned hash=0;
234  for ( ; *str; str++ )
235  hash = *str ^ (hash<<6) ^ (hash>>25);
236  if ( hash<MAX_LANGID )
237  hash |= (1<<31);
238  return hash;
239 }