/* Wrapped functions */ /* * PROTOTYPE: * GdkFont* gdk_fontset_load (const gchar *fontset_name); * real_gdk_fontset_load 就是真正的 gdk_fontset_load() 進入點 */ static GdkFont* (* real_gdk_fontset_load)(const gchar *fontset_name); void load_all_syms(void *handle) { real_gdk_fontset_load = dlsym(handle, "gdk_fontset_load" ); } #define XA_LIBX11 "libgdk-1.2.so.0" void wrap_init() { static void *handle = dlopen(lib_path, RTLD_LAZY); load_all_syms(handle); } /* * 我們的 gdk_fontset_load() 實作 * 看到包含 "jisx0208" 的字型名稱,自動加入台北字型 */ GdkFont* gdk_fontset_load(const gchar *fontset_name) { gchar new_fontset_name[BUF_SIZE]; wrap_init(); if (strstr(fontset_name, "jisx0208") != 0) { sprintf(new_fontset_name, "-taipei-ming-medium-r-normal-*-*-160-*-*-c-*-big5-0," "%s", fontset_name); return real_gdk_fontset_load(new_fontset_name); } return real_gdk_fontset_load(fontset_name); }Happy Hacking! 由 jserv 發表於 January 17, 2005 07:06 PM
我在tw.bbs.comp.linux也提過一個用到LD_PRELOAD的例子,標題是
[心得]用transconnect穿過防火牆
我還在同一家公司,不過我們現在不擋telnet了,所以沒在用了.
==
咦,突然想到我們好像有擋irc ^^;