| 1356 | */ |
| 1357 | |
| 1358 | static cups_lang_t * /* O - Language data or NULL */ |
| 1359 | cups_cache_lookup( |
| 1360 | const char *name, /* I - Name of locale */ |
| 1361 | cups_encoding_t encoding) /* I - Encoding of locale */ |
| 1362 | { |
| 1363 | cups_lang_t *lang; /* Current language */ |
| 1364 | |
| 1365 | |
| 1366 | DEBUG_printf(("7cups_cache_lookup(name=\"%s\", encoding=%d(%s))", name, |
| 1367 | encoding, encoding == CUPS_AUTO_ENCODING ? "auto" : |
| 1368 | lang_encodings[encoding])); |
| 1369 | |
| 1370 | /* |
| 1371 | * Loop through the cache and return a match if found... |
| 1372 | */ |
| 1373 | |
| 1374 | for (lang = lang_cache; lang != NULL; lang = lang->next) |
| 1375 | { |
| 1376 | DEBUG_printf(("9cups_cache_lookup: lang=%p, language=\"%s\", " |
| 1377 | "encoding=%d(%s)", (void *)lang, lang->language, lang->encoding, |
| 1378 | lang_encodings[lang->encoding])); |
| 1379 | |
| 1380 | if (!strcmp(lang->language, name) && |
| 1381 | (encoding == CUPS_AUTO_ENCODING || encoding == lang->encoding)) |
| 1382 | { |
| 1383 | lang->used ++; |
| 1384 | |
| 1385 | DEBUG_puts("8cups_cache_lookup: returning match!"); |
| 1386 | |
| 1387 | return (lang); |
| 1388 | } |
| 1389 | } |
| 1390 | |
| 1391 | DEBUG_puts("8cups_cache_lookup: returning NULL!"); |
| 1392 | |
| 1393 | return (NULL); |
| 1394 | } |
| 1395 | |
| 1396 | |
| 1397 | /* |