pike.git/
lib/
master.pike.in
Branch:
Tag:
Non-build tags
All tags
No tags
1999-02-26
1999-02-26 01:08:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>
f4f08df9342c723e46f4bcd35cfa2c61a16483fe (
44
lines) (+
43
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
Added decode_charset().
Rev: lib/master.pike.in:1.39
1:
-
/* $Id: master.pike.in,v 1.
38
1999/02/
04
23
:
45
:
12
mast
Exp $
+
/* $Id: master.pike.in,v 1.
39
1999/02/
26
01
:
08
:
52
grubba
Exp $
* * Master-file for Pike. *
473:
int _cache_full; void fill_cache() {
+
#ifdef RESOLV_DEBUG
+
werror(describe_backtrace(({ sprintf("Filling cache in dirnode %O\n",
+
dirname),
+
backtrace() })));
+
#endif /* RESOLV_DEBUG */
if (_cache_full) { return; }
569:
int _cache_full; void fill_cache() {
+
#ifdef RESOLV_DEBUG
+
werror(describe_backtrace(({ "Filling cache in joinnode\n",
+
backtrace() })));
+
#endif /* RESOLV_DEBUG */
if (_cache_full) { return; }
957:
}
+
static mixed _charset_mod;
+
/* This function is called by cpp() when it wants to do
+
* character code conversion.
+
*/
+
string decode_charset(string data, string charset)
+
{
+
werror(sprintf("decode_charset(%O, %O)\n", data, charset));
+
+
if (!_charset_mod) {
+
mixed mod = resolv("Locale");
+
+
_charset_mod = mod && mod["Charset"];
+
if (!_charset_mod) {
+
compile_warning("-", 0, "No Locale.Charset module!");
+
return 0;
+
}
+
}
+
+
object decoder;
+
+
catch {
+
decoder = _charset_mod->decoder(charset);
+
};
+
+
if (!decoder) {
+
compile_warning("-", 0, sprintf("Unknown charset %O!", charset));
+
return 0;
+
}
+
return decoder->feed(data)->drain();
+
}
+
+
/* This function is called whenever an #include directive is encountered * it receives the argument for #include and should return the file name * of the file to include