mirror of
https://github.com/janet-lang/janet
synced 2024-11-28 19:19:53 +00:00
janet_formatb -> janet_formatbv, new janet_formatb
The old function was not very useable. In the likely case that there is no external code using this (not well documented/janet_formatc is more convenient), we can change this.
This commit is contained in:
parent
a09112404d
commit
71882475d6
@ -2,6 +2,8 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## Unreleased - ???
|
## Unreleased - ???
|
||||||
|
- Change C api's `janet_formatb` -> `janet_formatbv`.
|
||||||
|
- Add C `janet_formatb` to C api.
|
||||||
- Add `edefer` macro to core.
|
- Add `edefer` macro to core.
|
||||||
- A struct/table literal/constructor with duplicate keys will use the last value given.
|
- A struct/table literal/constructor with duplicate keys will use the last value given.
|
||||||
Previously, this was inconsistent between tables and structs, literals and constructor functions.
|
Previously, this was inconsistent between tables and structs, literals and constructor functions.
|
||||||
|
@ -54,7 +54,7 @@ void janet_panicf(const char *format, ...) {
|
|||||||
while (format[len]) len++;
|
while (format[len]) len++;
|
||||||
janet_buffer_init(&buffer, len);
|
janet_buffer_init(&buffer, len);
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
janet_formatb(&buffer, format, args);
|
janet_formatbv(&buffer, format, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
ret = janet_string(buffer.data, buffer.count);
|
ret = janet_string(buffer.data, buffer.count);
|
||||||
janet_buffer_deinit(&buffer);
|
janet_buffer_deinit(&buffer);
|
||||||
|
@ -502,7 +502,7 @@ void janet_dynprintf(const char *name, FILE *dflt_file, const char *format, ...)
|
|||||||
int32_t len = 0;
|
int32_t len = 0;
|
||||||
while (format[len]) len++;
|
while (format[len]) len++;
|
||||||
janet_buffer_init(&buffer, len);
|
janet_buffer_init(&buffer, len);
|
||||||
janet_formatb(&buffer, format, args);
|
janet_formatbv(&buffer, format, args);
|
||||||
if (xtype == JANET_ABSTRACT) {
|
if (xtype == JANET_ABSTRACT) {
|
||||||
void *abstract = janet_unwrap_abstract(x);
|
void *abstract = janet_unwrap_abstract(x);
|
||||||
if (janet_abstract_type(abstract) != &janet_file_type)
|
if (janet_abstract_type(abstract) != &janet_file_type)
|
||||||
@ -515,7 +515,7 @@ void janet_dynprintf(const char *name, FILE *dflt_file, const char *format, ...)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case JANET_BUFFER:
|
case JANET_BUFFER:
|
||||||
janet_formatb(janet_unwrap_buffer(x), format, args);
|
janet_formatbv(janet_unwrap_buffer(x), format, args);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
va_end(args);
|
va_end(args);
|
||||||
|
@ -642,7 +642,7 @@ void janet_parser_eof(JanetParser *parser) {
|
|||||||
if (parser->statecount > 1) {
|
if (parser->statecount > 1) {
|
||||||
JanetParseState *s = parser->states + (parser->statecount - 1);
|
JanetParseState *s = parser->states + (parser->statecount - 1);
|
||||||
JanetBuffer *buffer = janet_buffer(40);
|
JanetBuffer *buffer = janet_buffer(40);
|
||||||
janet_buffer_push_cstring(buffer, "unexpected end of source: ");
|
janet_buffer_push_cstring(buffer, "unexpected end of source, ");
|
||||||
if (s->flags & PFLAG_PARENS) {
|
if (s->flags & PFLAG_PARENS) {
|
||||||
janet_buffer_push_u8(buffer, '(');
|
janet_buffer_push_u8(buffer, '(');
|
||||||
} else if (s->flags & PFLAG_SQRBRACKETS) {
|
} else if (s->flags & PFLAG_SQRBRACKETS) {
|
||||||
@ -657,7 +657,7 @@ void janet_parser_eof(JanetParser *parser) {
|
|||||||
janet_buffer_push_u8(buffer, '`');
|
janet_buffer_push_u8(buffer, '`');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
janet_formatbb(buffer, " opened at line %d, column %d", s->line, s->column);
|
janet_formatb(buffer, " opened at line %d, column %d", s->line, s->column);
|
||||||
parser->error = (const char *) janet_string(buffer->data, buffer->count);
|
parser->error = (const char *) janet_string(buffer->data, buffer->count);
|
||||||
parser->flag |= JANET_PARSER_GENERATED_ERROR;
|
parser->flag |= JANET_PARSER_GENERATED_ERROR;
|
||||||
}
|
}
|
||||||
|
@ -728,7 +728,7 @@ static const char *scanformat(
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
void janet_formatb(JanetBuffer *b, const char *format, va_list args) {
|
void janet_formatbv(JanetBuffer *b, const char *format, va_list args) {
|
||||||
const char *format_end = format + strlen(format);
|
const char *format_end = format + strlen(format);
|
||||||
const char *c = format;
|
const char *c = format;
|
||||||
int32_t startlen = b->count;
|
int32_t startlen = b->count;
|
||||||
@ -853,7 +853,7 @@ const uint8_t *janet_formatc(const char *format, ...) {
|
|||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
|
|
||||||
/* Run format */
|
/* Run format */
|
||||||
janet_formatb(&buffer, format, args);
|
janet_formatbv(&buffer, format, args);
|
||||||
|
|
||||||
/* Iterate length */
|
/* Iterate length */
|
||||||
va_end(args);
|
va_end(args);
|
||||||
@ -863,10 +863,10 @@ const uint8_t *janet_formatc(const char *format, ...) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
JanetBuffer *janet_formatbb(JanetBuffer *buffer, const char *format, ...) {
|
JanetBuffer *janet_formatb(JanetBuffer *buffer, const char *format, ...) {
|
||||||
va_list args;
|
va_list args;
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
janet_formatb(buffer, format, args);
|
janet_formatbv(buffer, format, args);
|
||||||
va_end(args);
|
va_end(args);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
@ -1238,8 +1238,8 @@ JANET_API void janet_description_b(JanetBuffer *buffer, Janet x);
|
|||||||
#define janet_cstringv(cstr) janet_wrap_string(janet_cstring(cstr))
|
#define janet_cstringv(cstr) janet_wrap_string(janet_cstring(cstr))
|
||||||
#define janet_stringv(str, len) janet_wrap_string(janet_string((str), (len)))
|
#define janet_stringv(str, len) janet_wrap_string(janet_string((str), (len)))
|
||||||
JANET_API JanetString janet_formatc(const char *format, ...);
|
JANET_API JanetString janet_formatc(const char *format, ...);
|
||||||
JANET_API void janet_formatb(JanetBuffer *bufp, const char *format, va_list args);
|
JANET_API JanetBuffer *janet_formatb(JanetBuffer *bufp, const char *format, ...);
|
||||||
JANET_API JanetBuffer *janet_formatbb(JanetBuffer *bufp, const char *format, ...);
|
JANET_API void janet_formatbv(JanetBuffer *bufp, const char *format, va_list args);
|
||||||
|
|
||||||
/* Symbol functions */
|
/* Symbol functions */
|
||||||
JANET_API JanetSymbol janet_symbol(const uint8_t *str, int32_t len);
|
JANET_API JanetSymbol janet_symbol(const uint8_t *str, int32_t len);
|
||||||
|
Loading…
Reference in New Issue
Block a user