2011-06-15 78 views
0

提取物:Clearsilver模板系統 - 問題與cs_render()和CSOUTFUNC從我的代碼

NEOERR* 
func(void *,char *); 
... 
char* buf; 
buf = (char*) malloc(1024); 
HDF* hdf; 
CSPARSE* cs; 
hdf_init(&hdf); 
hdf_set_value(hdf, "name", "foo"); 
cs_init(&cs, hdf); 
strcpy(buf, "This is <?cs var:name ?>"); 
cs_parse_string(cs, buf, 1024); 
cs_render(cs, NULL , func); 
... 
NEOERR* 
func(void *b, char* a) 
{ 
    printf("%s", a); 
} 

輸出是:

This is<space> 

如果我使用

strcpy(buf, "<?cs var:name ?>"); 

然後輸出

foo 

如何將模板命令與靜態文本結合使用?我的CSOUTFUNC函數有什麼問題?

提前

+0

問題是函數func(void *,char *)'中缺少'return(STATUS_OK)'。解決了。 – Toru 2011-06-15 20:36:49

+0

*模板*? ??? C?也許你得到了錯誤的標籤? – pmg 2011-06-16 18:37:28

回答

0

許多感謝的問題是缺少

return (STATUS_OK); 
在解決了功能

NEOERR* 
func(void *,char *);