mirror of
				https://github.com/janet-lang/janet
				synced 2025-10-30 23:23:07 +00:00 
			
		
		
		
	Merge pull request #448 from GrayJack/fix-table-remove
Fix janet_table_remove returning the key instead of the value
This commit is contained in:
		| @@ -61,5 +61,11 @@ int table_test() { | |||||||
|     assert(janet_equals(janet_table_get(t2, janet_csymbolv("t2key1")), janet_wrap_integer(10))); |     assert(janet_equals(janet_table_get(t2, janet_csymbolv("t2key1")), janet_wrap_integer(10))); | ||||||
|     assert(janet_equals(janet_table_get(t2, janet_csymbolv("t2key2")), janet_wrap_integer(100))); |     assert(janet_equals(janet_table_get(t2, janet_csymbolv("t2key2")), janet_wrap_integer(100))); | ||||||
|  |  | ||||||
|  |     assert(t2->count == 4); | ||||||
|  |     assert(janet_equals(janet_table_remove(t2, janet_csymbolv("t2key1")), janet_wrap_integer(10))); | ||||||
|  |     assert(t2->count == 3); | ||||||
|  |     assert(janet_equals(janet_table_remove(t2, janet_csymbolv("t2key2")), janet_wrap_integer(100))); | ||||||
|  |     assert(t2->count == 2); | ||||||
|  |  | ||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -173,7 +173,7 @@ Janet janet_table_rawget(JanetTable *t, Janet key) { | |||||||
| Janet janet_table_remove(JanetTable *t, Janet key) { | Janet janet_table_remove(JanetTable *t, Janet key) { | ||||||
|     JanetKV *bucket = janet_table_find(t, key); |     JanetKV *bucket = janet_table_find(t, key); | ||||||
|     if (NULL != bucket && !janet_checktype(bucket->key, JANET_NIL)) { |     if (NULL != bucket && !janet_checktype(bucket->key, JANET_NIL)) { | ||||||
|         Janet ret = bucket->key; |         Janet ret = bucket->value; | ||||||
|         t->count--; |         t->count--; | ||||||
|         t->deleted++; |         t->deleted++; | ||||||
|         bucket->key = janet_wrap_nil(); |         bucket->key = janet_wrap_nil(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Calvin Rose
					Calvin Rose