浏览代码

cmSymTbl.h/c: Added cmSymTblRegisterFmt()

master
kevin 11 年前
父节点
当前提交
66cf71e419
共有 2 个文件被更改,包括 19 次插入0 次删除
  1. 16
    0
      cmSymTbl.c
  2. 3
    0
      cmSymTbl.h

+ 16
- 0
cmSymTbl.c 查看文件

261
 unsigned    cmSymTblRegisterStaticSymbol( cmSymTblH_t h, const char* label )
261
 unsigned    cmSymTblRegisterStaticSymbol( cmSymTblH_t h, const char* label )
262
 { return cmSymTblRegister( h, label, true ); }
262
 { return cmSymTblRegister( h, label, true ); }
263
 
263
 
264
+unsigned    cmSymTblRegisterVFmt( cmSymTblH_t h, const cmChar_t* fmt, va_list vl )
265
+{
266
+  unsigned n = vsnprintf(NULL,0,fmt,vl);
267
+  cmChar_t b[n+1];
268
+  vsnprintf(b,n,fmt,vl);
269
+  return cmSymTblRegister(h,fmt,vl);
270
+
271
+}
272
+
273
+unsigned    cmSymTblRegisterFmt( cmSymTblH_t h, const cmChar_t* fmt, ... )
274
+{
275
+  va_list vl;
276
+  va_start(vl,fmt);
277
+  cmSymTblRegisterVFmt(h,fmt,vl);
278
+  va_end(vl);
279
+}
264
 
280
 
265
 
281
 
266
 bool        cmSymTblRemove( cmSymTblH_t h, unsigned symId )
282
 bool        cmSymTblRemove( cmSymTblH_t h, unsigned symId )

+ 3
- 0
cmSymTbl.h 查看文件

37
   unsigned    cmSymTblRegisterSymbol( cmSymTblH_t h, const char* label );
37
   unsigned    cmSymTblRegisterSymbol( cmSymTblH_t h, const char* label );
38
   unsigned    cmSymTblRegisterStaticSymbol( cmSymTblH_t h, const char* label );
38
   unsigned    cmSymTblRegisterStaticSymbol( cmSymTblH_t h, const char* label );
39
 
39
 
40
+  unsigned    cmSymTblRegisterVFmt( cmSymTblH_t h, const cmChar_t* fmt, va_list vl );
41
+  unsigned    cmSymTblRegisterFmt( cmSymTblH_t h, const cmChar_t* fmt, ... );
42
+
40
   bool        cmSymTblRemove(    cmSymTblH_t h, unsigned symId );
43
   bool        cmSymTblRemove(    cmSymTblH_t h, unsigned symId );
41
 
44
 
42
   // Given a symbol id return the associated label.
45
   // Given a symbol id return the associated label.

正在加载...
取消
保存