mirror of
				https://github.com/janet-lang/janet
				synced 2025-11-04 09:33:02 +00:00 
			
		
		
		
	Update Makefile, json native module,
and test suite 2.
This commit is contained in:
		
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@@ -28,10 +28,6 @@ INCLUDEDIR=$(PREFIX)/include/janet
 | 
			
		||||
LIBDIR=$(PREFIX)/lib
 | 
			
		||||
BINDIR=$(PREFIX)/bin
 | 
			
		||||
 | 
			
		||||
# CFLAGS=-std=c99 -Wall -Wextra -Isrc/include -Wl,--dynamic-list=src/exported.list -s -O3
 | 
			
		||||
# TODO - when api is finalized, only export public symbols instead of using rdynamic
 | 
			
		||||
# which exports all symbols. Saves a few KB in binary.
 | 
			
		||||
 | 
			
		||||
#CFLAGS=-std=c99 -Wall -Wextra -Isrc/include -fpic -g
 | 
			
		||||
CFLAGS=-std=c99 -Wall -Wextra -Isrc/include -fpic -O2 -fvisibility=hidden
 | 
			
		||||
CLIBS=-lm -ldl
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,7 @@ static int hexdig(char dig) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Read the hex value for a unicode escape */
 | 
			
		||||
static char *decode_utf16_escape(const char *p, uint32_t *outpoint) {
 | 
			
		||||
static const char *decode_utf16_escape(const char *p, uint32_t *outpoint) {
 | 
			
		||||
    if (!p[0] || !p[1] || !p[2] || !p[3])
 | 
			
		||||
        return "unexpected end of source";
 | 
			
		||||
    int d1 = hexdig(p[0]);
 | 
			
		||||
@@ -72,7 +72,7 @@ static char *decode_utf16_escape(const char *p, uint32_t *outpoint) {
 | 
			
		||||
 | 
			
		||||
/* Parse a string. Also handles the conversion of utf-16 to
 | 
			
		||||
 * utf-8. */
 | 
			
		||||
const char *decode_string(const char **p, Janet *out) {
 | 
			
		||||
static const char *decode_string(const char **p, Janet *out) {
 | 
			
		||||
    JanetBuffer *buffer = janet_buffer(0);
 | 
			
		||||
    const char *cp = *p;
 | 
			
		||||
    while (*cp != '"') {
 | 
			
		||||
@@ -353,9 +353,12 @@ typedef struct {
 | 
			
		||||
static const char *encode_newline(Encoder *e) {
 | 
			
		||||
    if (janet_buffer_push_bytes(e->buffer, e->newline, e->newlinelen))
 | 
			
		||||
        return "buffer overflow";
 | 
			
		||||
    for (int32_t i = 0; i < e->indent; i++)
 | 
			
		||||
        if (janet_buffer_push_bytes(e->buffer, e->tab, e->tablen))
 | 
			
		||||
            return "buffer overflow";
 | 
			
		||||
    /* Skip loop if no tab string */
 | 
			
		||||
    if (e->tablen) {
 | 
			
		||||
        for (int32_t i = 0; i < e->indent; i++)
 | 
			
		||||
            if (janet_buffer_push_bytes(e->buffer, e->tab, e->tablen))
 | 
			
		||||
                return "buffer overflow";
 | 
			
		||||
    }
 | 
			
		||||
    return NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -71,6 +71,8 @@
 | 
			
		||||
(assert (= (string.join @[] "hi") "") "string.join 4")
 | 
			
		||||
(assert (deep= (string.split "," "one,two,three") @["one" "two" "three"]) "string.split 1")
 | 
			
		||||
(assert (deep= (string.split "," "onetwothree") @["onetwothree"]) "string.split 2")
 | 
			
		||||
(assert (deep= (string.find-all "e" "onetwothree") @[2 9 10]) "string.find-all 1")
 | 
			
		||||
(assert (deep= (string.find-all "," "onetwothree") @[]) "string.find-all 2")
 | 
			
		||||
 | 
			
		||||
(end-suite)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user