diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-19 13:34:35 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2017-04-19 13:34:35 -0300 |
| commit | a45945b6d511b00b1c84dc73881474030737e956 (patch) | |
| tree | 438343a3f53c9a4755f16d7dc66fdcede6a6a504 | |
| parent | 9e1f1b1f6230f71d95eba4457d8ac2719ed9e7c7 (diff) | |
| download | lua-a45945b6d511b00b1c84dc73881474030737e956.tar.gz lua-a45945b6d511b00b1c84dc73881474030737e956.tar.bz2 lua-a45945b6d511b00b1c84dc73881474030737e956.zip | |
new macro 'lua_pointer2str' to encapsulate use of 'l_sprintf' inside
the kernel
| -rw-r--r-- | lobject.c | 5 | ||||
| -rw-r--r-- | luaconf.h | 9 |
2 files changed, 11 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lobject.c,v 2.112 2016/06/27 13:15:08 roberto Exp roberto $ | 2 | ** $Id: lobject.c,v 2.113 2016/12/22 13:08:50 roberto Exp roberto $ |
| 3 | ** Some generic functions over Lua objects | 3 | ** Some generic functions over Lua objects |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -435,7 +435,8 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { | |||
| 435 | } | 435 | } |
| 436 | case 'p': { /* a pointer */ | 436 | case 'p': { /* a pointer */ |
| 437 | char buff[4*sizeof(void *) + 8]; /* should be enough space for a '%p' */ | 437 | char buff[4*sizeof(void *) + 8]; /* should be enough space for a '%p' */ |
| 438 | int l = l_sprintf(buff, sizeof(buff), "%p", va_arg(argp, void *)); | 438 | void *p = va_arg(argp, void *); |
| 439 | int l = lua_pointer2str(buff, sizeof(buff), p); | ||
| 439 | pushstr(L, buff, l); | 440 | pushstr(L, buff, l); |
| 440 | break; | 441 | break; |
| 441 | } | 442 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: luaconf.h,v 1.258 2016/12/20 18:37:00 roberto Exp roberto $ | 2 | ** $Id: luaconf.h,v 1.259 2016/12/22 13:08:50 roberto Exp roberto $ |
| 3 | ** Configuration file for Lua | 3 | ** Configuration file for Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -621,6 +621,13 @@ | |||
| 621 | 621 | ||
| 622 | 622 | ||
| 623 | /* | 623 | /* |
| 624 | @@ lua_pointer2str converts a pointer to a readable string in a | ||
| 625 | ** non-specified way. | ||
| 626 | */ | ||
| 627 | #define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) | ||
| 628 | |||
| 629 | |||
| 630 | /* | ||
| 624 | @@ lua_number2strx converts a float to an hexadecimal numeric string. | 631 | @@ lua_number2strx converts a float to an hexadecimal numeric string. |
| 625 | ** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. | 632 | ** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. |
| 626 | ** Otherwise, you can leave 'lua_number2strx' undefined and Lua will | 633 | ** Otherwise, you can leave 'lua_number2strx' undefined and Lua will |
