Compare commits
7 Commits
ast
...
tramp_loop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7af8ffe4e0 | ||
|
|
8abee37622 | ||
|
|
7c3cce1ce2 | ||
|
|
334f3a789b | ||
|
|
e21cd4e70b | ||
|
|
41eb4bf6f7 | ||
|
|
5f761cc7af |
@@ -28,6 +28,10 @@
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
#ifndef NDEBUG
|
||||
#include <assert.h>
|
||||
#endif
|
||||
|
||||
struct list_head {
|
||||
struct list_head *prev;
|
||||
struct list_head *next;
|
||||
@@ -82,6 +86,29 @@ static inline int list_empty(struct list_head *el)
|
||||
return el->next == el;
|
||||
}
|
||||
|
||||
/* Move all elements from 'src' to 'dst', leaving 'src' empty.
|
||||
'dst' must be empty before this call. */
|
||||
static inline void list_splice(struct list_head *dst, struct list_head *src)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
assert(dst != src);
|
||||
assert(list_empty(dst));
|
||||
#endif
|
||||
if (!list_empty(src)) {
|
||||
struct list_head *first = src->next;
|
||||
struct list_head *last = src->prev;
|
||||
|
||||
/* Link dst to src's elements */
|
||||
dst->next = first;
|
||||
dst->prev = last;
|
||||
first->prev = dst;
|
||||
last->next = dst;
|
||||
|
||||
/* Reinitialize src as empty */
|
||||
init_list_head(src);
|
||||
}
|
||||
}
|
||||
|
||||
#define list_for_each(el, head) \
|
||||
for(el = (head)->next; el != (head); el = el->next)
|
||||
|
||||
|
||||
990
source/quickjs.c
990
source/quickjs.c
File diff suppressed because it is too large
Load Diff
@@ -145,26 +145,6 @@ return {
|
||||
if (!caught) throw "string + boolean should throw"
|
||||
},
|
||||
|
||||
test_null_plus_string_throws: function() {
|
||||
var caught = false
|
||||
try {
|
||||
var x = null + "hello"
|
||||
} catch (e) {
|
||||
caught = true
|
||||
}
|
||||
if (!caught) throw "null + string should throw"
|
||||
},
|
||||
|
||||
test_string_plus_null_throws: function() {
|
||||
var caught = false
|
||||
try {
|
||||
var x = "hello" + null
|
||||
} catch (e) {
|
||||
caught = true
|
||||
}
|
||||
if (!caught) throw "string + null should throw"
|
||||
},
|
||||
|
||||
// ============================================================================
|
||||
// COMPARISON OPERATORS
|
||||
// ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user