diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-23 22:00:05 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-24 10:44:04 +0100 |
commit | 8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2 (patch) | |
tree | 5338c1e930b08959c70ebb3b574ee5ecb1978acd /util/cairo-script/cairo-script-scanner.c | |
parent | f02ba09475b751fba411addb96718dbcb1de5132 (diff) |
[script] mark scan_read() inline
Small function that is critical to performance whilst scanning scripts.
Diffstat (limited to 'util/cairo-script/cairo-script-scanner.c')
-rw-r--r-- | util/cairo-script/cairo-script-scanner.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/util/cairo-script/cairo-script-scanner.c b/util/cairo-script/cairo-script-scanner.c index 3cc39575..1d717f4b 100644 --- a/util/cairo-script/cairo-script-scanner.c +++ b/util/cairo-script/cairo-script-scanner.c @@ -665,17 +665,17 @@ base85_end (csi_t *ctx, csi_scanner_t *scan, cairo_bool_t deflate) longjmp (scan->jmpbuf, status); } -static void +static inline void scan_read (csi_scanner_t *scan, csi_file_t *src, void *ptr, int len) { uint8_t *data = ptr; - while (len) { + do { int ret = csi_file_read (src, data, len); if (_csi_unlikely (ret == 0)) longjmp (scan->jmpbuf, _csi_error (CSI_STATUS_READ_ERROR)); data += ret; len -= ret; - } + } while (_csi_unlikely (len)); } static void |