Lines Matching defs:src
46 skip_whitespace(const char *&src, char *&symbol_buffer)
48 size_t n = strspn(src, " \v\t\r\n");
49 src += n;
52 if (src[0] == ';') {
53 n = strcspn(src, "\n");
54 src += n;
56 skip_whitespace(src, symbol_buffer);
61 read_atom(void *ctx, const char *&src, char *&symbol_buffer)
65 skip_whitespace(src, symbol_buffer);
67 size_t n = strcspn(src, "( \v\t\r\n);");
74 if (n == 4 && strncmp(src, "+INF", 4) == 0) {
79 float f = _mesa_strtof(src, &float_end);
80 if (float_end != src) {
82 int i = strtol(src, &int_end, 10);
95 src += n;
102 __read_expression(void *ctx, const char *&src, char *&symbol_buffer)
104 s_expression *atom = read_atom(ctx, src, symbol_buffer);
108 skip_whitespace(src, symbol_buffer);
109 if (src[0] == '(') {
110 ++src;
116 while ((expr = __read_expression(ctx, src, symbol_buffer)) != NULL) {
119 skip_whitespace(src, symbol_buffer);
120 if (src[0] != ')') {
124 ++src;
132 s_expression::read_expression(void *ctx, const char *&src)
134 assert(src != NULL);
146 char *symbol_buffer = ralloc_strdup(ctx, src);
147 return __read_expression(ctx, src, symbol_buffer);