diff options
author | Mike Pall <mike> | 2013-05-13 21:18:22 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2013-05-13 21:18:22 +0200 |
commit | 4c39e9ffc89cf5ddb691f1cbed0d6e23571a3288 (patch) | |
tree | 9744dc4a3e86a521a16decba6ce2deb581db0ada /src/lib_string.c | |
parent | 09ef8d10773f604452510c9fb3c32b3cdc424ae4 (diff) | |
download | luajit-4c39e9ffc89cf5ddb691f1cbed0d6e23571a3288.tar.gz luajit-4c39e9ffc89cf5ddb691f1cbed0d6e23571a3288.tar.bz2 luajit-4c39e9ffc89cf5ddb691f1cbed0d6e23571a3288.zip |
Compile string.format().
Diffstat (limited to 'src/lib_string.c')
-rw-r--r-- | src/lib_string.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib_string.c b/src/lib_string.c index cc1affbd..204f6975 100644 --- a/src/lib_string.c +++ b/src/lib_string.c | |||
@@ -658,10 +658,10 @@ static GCstr *string_fmt_tostring(lua_State *L, int arg, int retry) | |||
658 | return lj_strfmt_obj(L, o); | 658 | return lj_strfmt_obj(L, o); |
659 | } | 659 | } |
660 | 660 | ||
661 | LJLIB_CF(string_format) | 661 | LJLIB_CF(string_format) LJLIB_REC(.) |
662 | { | 662 | { |
663 | int arg, top = (int)(L->top - L->base); | 663 | int arg, top = (int)(L->top - L->base); |
664 | GCstr *sfmt; | 664 | GCstr *fmt; |
665 | SBuf *sb; | 665 | SBuf *sb; |
666 | FormatState fs; | 666 | FormatState fs; |
667 | SFormat sf; | 667 | SFormat sf; |
@@ -669,8 +669,8 @@ LJLIB_CF(string_format) | |||
669 | again: | 669 | again: |
670 | arg = 1; | 670 | arg = 1; |
671 | sb = lj_buf_tmp_(L); | 671 | sb = lj_buf_tmp_(L); |
672 | sfmt = lj_lib_checkstr(L, arg); | 672 | fmt = lj_lib_checkstr(L, arg); |
673 | lj_strfmt_init(&fs, strdata(sfmt), sfmt->len); | 673 | lj_strfmt_init(&fs, strdata(fmt), fmt->len); |
674 | while ((sf = lj_strfmt_parse(&fs)) != STRFMT_EOF) { | 674 | while ((sf = lj_strfmt_parse(&fs)) != STRFMT_EOF) { |
675 | if (sf == STRFMT_LIT) { | 675 | if (sf == STRFMT_LIT) { |
676 | lj_buf_putmem(sb, fs.str, fs.len); | 676 | lj_buf_putmem(sb, fs.str, fs.len); |
@@ -705,7 +705,7 @@ again: | |||
705 | if (str == NULL) | 705 | if (str == NULL) |
706 | retry = 1; | 706 | retry = 1; |
707 | else if ((sf & STRFMT_T_QUOTED)) | 707 | else if ((sf & STRFMT_T_QUOTED)) |
708 | lj_strfmt_putquoted(sb, str); | 708 | lj_strfmt_putquoted(sb, str); /* No formatting. */ |
709 | else | 709 | else |
710 | lj_strfmt_putfstr(sb, sf, str); | 710 | lj_strfmt_putfstr(sb, sf, str); |
711 | break; | 711 | break; |