Compare commits
7 Commits
serialize_
...
tramp_loop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7af8ffe4e0 | ||
|
|
8abee37622 | ||
|
|
7c3cce1ce2 | ||
|
|
334f3a789b | ||
|
|
e21cd4e70b | ||
|
|
41eb4bf6f7 | ||
|
|
5f761cc7af |
@@ -28,6 +28,10 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef NDEBUG
|
||||||
|
#include <assert.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
struct list_head {
|
struct list_head {
|
||||||
struct list_head *prev;
|
struct list_head *prev;
|
||||||
struct list_head *next;
|
struct list_head *next;
|
||||||
@@ -82,6 +86,29 @@ static inline int list_empty(struct list_head *el)
|
|||||||
return el->next == 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) \
|
#define list_for_each(el, head) \
|
||||||
for(el = (head)->next; el != (head); el = el->next)
|
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"
|
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
|
// COMPARISON OPERATORS
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user