Coverage Report

Created: 2026-10-28 06:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/CMake/Utilities/cmllpkgc/llpkgc_dep__internal.c
Line
Count
Source
1
/* Distributed under the OSI-approved BSD 3-Clause License.
2
   See accompanying file LICENSE.rst for details.  */
3
/* This code was generated by llpkgc, do not edit it by hand
4
   See: https://gitlab.kitware.com/utils/llpkgc  */
5
6
7
#include <stdlib.h>
8
#include <stdint.h>
9
#include <string.h>
10
11
#ifdef __SSE4_2__
12
 #ifdef _MSC_VER
13
  #include <nmmintrin.h>
14
 #else  /* !_MSC_VER */
15
  #include <x86intrin.h>
16
 #endif  /* _MSC_VER */
17
#endif  /* __SSE4_2__ */
18
19
#if defined(__ARM_NEON__) || defined(__ARM_NEON)
20
 #include <arm_neon.h>
21
#endif  /* __ARM_NEON__ */
22
23
#ifdef __wasm__
24
 #include <wasm_simd128.h>
25
#endif  /* __wasm__ */
26
27
#ifdef _MSC_VER
28
 #define ALIGN(n) _declspec(align(n))
29
 #define UNREACHABLE __assume(0)
30
#else  /* !_MSC_VER */
31
 #define ALIGN(n) __attribute__((aligned(n)))
32
0
 #define UNREACHABLE __builtin_unreachable()
33
#endif  /* _MSC_VER */
34
35
#include "llpkgc_dep__internal.h"
36
37
typedef int (*llpkgc_dep__internal__span_cb)(
38
             llpkgc_dep__internal_t*, const char*, const char*);
39
40
enum llparse_state_e {
41
  s_error,
42
  s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete,
43
  s_n_llpkgc_dep__internal__n_version,
44
  s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version,
45
  s_n_llpkgc_dep__internal__n_before_version,
46
  s_n_llpkgc_dep__internal__n_unknown_operator,
47
  s_n_llpkgc_dep__internal__n_operator_end,
48
  s_n_llpkgc_dep__internal__n_not,
49
  s_n_llpkgc_dep__internal__n_less_than,
50
  s_n_llpkgc_dep__internal__n_greater_than,
51
  s_n_llpkgc_dep__internal__n_operator,
52
  s_n_llpkgc_dep__internal__n_invoke_update_finish_2,
53
  s_n_llpkgc_dep__internal__n_after_name,
54
  s_n_llpkgc_dep__internal__n_invoke_update_finish_1,
55
  s_n_llpkgc_dep__internal__n_invoke_update_finish_21,
56
  s_n_llpkgc_dep__internal__n_name,
57
  s_n_llpkgc_dep__internal__n_first_name_character,
58
  s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name,
59
  s_n_llpkgc_dep__internal__n_start,
60
};
61
typedef enum llparse_state_e llparse_state_t;
62
63
int llpkgc_dep__on_dep_name(
64
    llpkgc_dep__internal_t* s, const unsigned char* p,
65
    const unsigned char* endp);
66
67
int llpkgc_dep__on_dep_version(
68
    llpkgc_dep__internal_t* s, const unsigned char* p,
69
    const unsigned char* endp);
70
71
int llpkgc_dep__internal__c_update_comparator(
72
    llpkgc_dep__internal_t* state,
73
    const unsigned char* p,
74
37.0M
    const unsigned char* endp) {
75
37.0M
  state->comparator = 0;
76
37.0M
  return 0;
77
37.0M
}
78
79
int llpkgc_dep__internal__c_update_finish(
80
    llpkgc_dep__internal_t* state,
81
    const unsigned char* p,
82
104M
    const unsigned char* endp) {
83
104M
  state->finish = 1;
84
104M
  return 0;
85
104M
}
86
87
int llpkgc_dep__on_dep_complete(
88
    llpkgc_dep__internal_t* s, const unsigned char* p,
89
    const unsigned char* endp);
90
91
int llpkgc_dep__internal__c_update_finish_6(
92
    llpkgc_dep__internal_t* state,
93
    const unsigned char* p,
94
34.6M
    const unsigned char* endp) {
95
34.6M
  state->finish = 0;
96
34.6M
  return 0;
97
34.6M
}
98
99
int llpkgc_dep__internal__c_update_comparator_3(
100
    llpkgc_dep__internal_t* state,
101
    const unsigned char* p,
102
471k
    const unsigned char* endp) {
103
471k
  state->comparator = 4;
104
471k
  return 0;
105
471k
}
106
107
int llpkgc_dep__internal__c_update_comparator_5(
108
    llpkgc_dep__internal_t* state,
109
    const unsigned char* p,
110
1.80M
    const unsigned char* endp) {
111
1.80M
  state->comparator = 1;
112
1.80M
  return 0;
113
1.80M
}
114
115
int llpkgc_dep__internal__c_update_comparator_7(
116
    llpkgc_dep__internal_t* state,
117
    const unsigned char* p,
118
123k
    const unsigned char* endp) {
119
123k
  state->comparator = 2;
120
123k
  return 0;
121
123k
}
122
123
int llpkgc_dep__internal__c_update_comparator_8(
124
    llpkgc_dep__internal_t* state,
125
    const unsigned char* p,
126
4.91M
    const unsigned char* endp) {
127
4.91M
  state->comparator = 3;
128
4.91M
  return 0;
129
4.91M
}
130
131
int llpkgc_dep__internal__c_update_comparator_9(
132
    llpkgc_dep__internal_t* state,
133
    const unsigned char* p,
134
1.25M
    const unsigned char* endp) {
135
1.25M
  state->comparator = 5;
136
1.25M
  return 0;
137
1.25M
}
138
139
int llpkgc_dep__internal__c_update_comparator_11(
140
    llpkgc_dep__internal_t* state,
141
    const unsigned char* p,
142
155k
    const unsigned char* endp) {
143
155k
  state->comparator = 6;
144
155k
  return 0;
145
155k
}
146
147
2.94k
int llpkgc_dep__internal_init(llpkgc_dep__internal_t* state) {
148
2.94k
  memset(state, 0, sizeof(*state));
149
2.94k
  state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_start;
150
2.94k
  return 0;
151
2.94k
}
152
153
static llparse_state_t llpkgc_dep__internal__run(
154
    llpkgc_dep__internal_t* state,
155
    const unsigned char* p,
156
2.81k
    const unsigned char* endp) {
157
2.81k
  int match;
158
2.81k
  switch ((llparse_state_t) (intptr_t) state->_current) {
159
0
    case s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete:
160
34.6M
    s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete: {
161
34.6M
      switch (llpkgc_dep__on_dep_complete(state, p, endp)) {
162
34.6M
        case 0:
163
34.6M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_6;
164
0
        case 5:
165
0
          goto s_n_llpkgc_dep__internal__n_error_1;
166
0
        default:
167
0
          goto s_n_llpkgc_dep__internal__n_error;
168
34.6M
      }
169
34.6M
      UNREACHABLE;
170
34.6M
    }
171
0
    case s_n_llpkgc_dep__internal__n_version:
172
128M
    s_n_llpkgc_dep__internal__n_version: {
173
128M
      if (p == endp) {
174
1.16k
        return s_n_llpkgc_dep__internal__n_version;
175
1.16k
      }
176
128M
      switch (*p) {
177
1.79M
        case 9: {
178
1.79M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
179
0
        }
180
0
        case 10: {
181
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
182
0
        }
183
47.2k
        case 11: {
184
47.2k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
185
0
        }
186
31.6k
        case 12: {
187
31.6k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
188
0
        }
189
0
        case 13: {
190
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
191
0
        }
192
7.26M
        case ' ': {
193
7.26M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
194
0
        }
195
514k
        case ',': {
196
514k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version;
197
0
        }
198
119M
        default: {
199
119M
          p++;
200
119M
          goto s_n_llpkgc_dep__internal__n_version;
201
0
        }
202
128M
      }
203
128M
      UNREACHABLE;
204
128M
    }
205
0
    case s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version:
206
9.65M
    s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version: {
207
9.65M
      if (p == endp) {
208
0
        return s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version;
209
0
      }
210
9.65M
      state->_span_pos0 = (void*) p;
211
9.65M
      state->_span_cb0 = llpkgc_dep__on_dep_version;
212
9.65M
      goto s_n_llpkgc_dep__internal__n_invoke_update_finish_7;
213
9.65M
      UNREACHABLE;
214
9.65M
    }
215
0
    case s_n_llpkgc_dep__internal__n_before_version:
216
13.2M
    s_n_llpkgc_dep__internal__n_before_version: {
217
13.2M
      if (p == endp) {
218
20
        return s_n_llpkgc_dep__internal__n_before_version;
219
20
      }
220
13.2M
      switch (*p) {
221
1.24M
        case 9: {
222
1.24M
          p++;
223
1.24M
          goto s_n_llpkgc_dep__internal__n_before_version;
224
0
        }
225
0
        case 10: {
226
0
          p++;
227
0
          goto s_n_llpkgc_dep__internal__n_before_version;
228
0
        }
229
3.24k
        case 11: {
230
3.24k
          p++;
231
3.24k
          goto s_n_llpkgc_dep__internal__n_before_version;
232
0
        }
233
38.9k
        case 12: {
234
38.9k
          p++;
235
38.9k
          goto s_n_llpkgc_dep__internal__n_before_version;
236
0
        }
237
0
        case 13: {
238
0
          p++;
239
0
          goto s_n_llpkgc_dep__internal__n_before_version;
240
0
        }
241
2.25M
        case ' ': {
242
2.25M
          p++;
243
2.25M
          goto s_n_llpkgc_dep__internal__n_before_version;
244
0
        }
245
51.4k
        case ',': {
246
51.4k
          goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete;
247
0
        }
248
9.65M
        default: {
249
9.65M
          goto s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_version;
250
0
        }
251
13.2M
      }
252
13.2M
      UNREACHABLE;
253
13.2M
    }
254
0
    case s_n_llpkgc_dep__internal__n_unknown_operator:
255
1.65M
    s_n_llpkgc_dep__internal__n_unknown_operator: {
256
1.65M
      if (p == endp) {
257
145
        return s_n_llpkgc_dep__internal__n_unknown_operator;
258
145
      }
259
1.65M
      switch (*p) {
260
144k
        case '!': {
261
144k
          p++;
262
144k
          goto s_n_llpkgc_dep__internal__n_unknown_operator;
263
0
        }
264
23.8k
        case '<': {
265
23.8k
          p++;
266
23.8k
          goto s_n_llpkgc_dep__internal__n_unknown_operator;
267
0
        }
268
213k
        case '=': {
269
213k
          p++;
270
213k
          goto s_n_llpkgc_dep__internal__n_unknown_operator;
271
0
        }
272
572k
        case '>': {
273
572k
          p++;
274
572k
          goto s_n_llpkgc_dep__internal__n_unknown_operator;
275
0
        }
276
696k
        default: {
277
696k
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_5;
278
0
        }
279
1.65M
      }
280
1.65M
      UNREACHABLE;
281
1.65M
    }
282
0
    case s_n_llpkgc_dep__internal__n_operator_end:
283
5.66M
    s_n_llpkgc_dep__internal__n_operator_end: {
284
5.66M
      if (p == endp) {
285
140
        return s_n_llpkgc_dep__internal__n_operator_end;
286
140
      }
287
5.66M
      switch (*p) {
288
85.4k
        case '!': {
289
85.4k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4;
290
0
        }
291
9.51k
        case '<': {
292
9.51k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4;
293
0
        }
294
15.5k
        case '=': {
295
15.5k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4;
296
0
        }
297
466
        case '>': {
298
466
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_4;
299
0
        }
300
5.55M
        default: {
301
5.55M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_10;
302
0
        }
303
5.66M
      }
304
5.66M
      UNREACHABLE;
305
5.66M
    }
306
0
    case s_n_llpkgc_dep__internal__n_not:
307
1.72M
    s_n_llpkgc_dep__internal__n_not: {
308
1.72M
      if (p == endp) {
309
40
        return s_n_llpkgc_dep__internal__n_not;
310
40
      }
311
1.72M
      switch (*p) {
312
4.74k
        case '!': {
313
4.74k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2;
314
0
        }
315
633
        case '<': {
316
633
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2;
317
0
        }
318
471k
        case '=': {
319
471k
          p++;
320
471k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_3;
321
0
        }
322
564k
        case '>': {
323
564k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_2;
324
0
        }
325
687k
        default: {
326
687k
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_11;
327
0
        }
328
1.72M
      }
329
1.72M
      UNREACHABLE;
330
1.72M
    }
331
0
    case s_n_llpkgc_dep__internal__n_less_than:
332
1.80M
    s_n_llpkgc_dep__internal__n_less_than: {
333
1.80M
      if (p == endp) {
334
38
        return s_n_llpkgc_dep__internal__n_less_than;
335
38
      }
336
1.80M
      switch (*p) {
337
3.68k
        case '!': {
338
3.68k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6;
339
0
        }
340
2.60k
        case '<': {
341
2.60k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6;
342
0
        }
343
123k
        case '=': {
344
123k
          p++;
345
123k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_7;
346
0
        }
347
3.19k
        case '>': {
348
3.19k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_6;
349
0
        }
350
1.67M
        default: {
351
1.67M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_15;
352
0
        }
353
1.80M
      }
354
1.80M
      UNREACHABLE;
355
1.80M
    }
356
0
    case s_n_llpkgc_dep__internal__n_greater_than:
357
1.25M
    s_n_llpkgc_dep__internal__n_greater_than: {
358
1.25M
      if (p == endp) {
359
88
        return s_n_llpkgc_dep__internal__n_greater_than;
360
88
      }
361
1.25M
      switch (*p) {
362
660
        case '!': {
363
660
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10;
364
0
        }
365
4.38k
        case '<': {
366
4.38k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10;
367
0
        }
368
155k
        case '=': {
369
155k
          p++;
370
155k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_11;
371
0
        }
372
2.13k
        case '>': {
373
2.13k
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_10;
374
0
        }
375
1.09M
        default: {
376
1.09M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_20;
377
0
        }
378
1.25M
      }
379
1.25M
      UNREACHABLE;
380
1.25M
    }
381
0
    case s_n_llpkgc_dep__internal__n_operator:
382
9.70M
    s_n_llpkgc_dep__internal__n_operator: {
383
9.70M
      if (p == endp) {
384
0
        return s_n_llpkgc_dep__internal__n_operator;
385
0
      }
386
9.70M
      switch (*p) {
387
1.72M
        case '!': {
388
1.72M
          p++;
389
1.72M
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_1;
390
0
        }
391
1.80M
        case '<': {
392
1.80M
          p++;
393
1.80M
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_5;
394
0
        }
395
4.91M
        case '=': {
396
4.91M
          p++;
397
4.91M
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_8;
398
0
        }
399
1.25M
        case '>': {
400
1.25M
          p++;
401
1.25M
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator_9;
402
0
        }
403
0
        default: {
404
0
          goto s_n_llpkgc_dep__internal__n_error_2;
405
0
        }
406
9.70M
      }
407
9.70M
      UNREACHABLE;
408
9.70M
    }
409
0
    case s_n_llpkgc_dep__internal__n_invoke_update_finish_2:
410
9.70M
    s_n_llpkgc_dep__internal__n_invoke_update_finish_2: {
411
9.70M
      switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
412
9.70M
        default:
413
9.70M
          goto s_n_llpkgc_dep__internal__n_operator;
414
9.70M
      }
415
9.70M
      UNREACHABLE;
416
9.70M
    }
417
0
    case s_n_llpkgc_dep__internal__n_after_name:
418
63.1M
    s_n_llpkgc_dep__internal__n_after_name: {
419
63.1M
      if (p == endp) {
420
31
        return s_n_llpkgc_dep__internal__n_after_name;
421
31
      }
422
63.1M
      switch (*p) {
423
9.77M
        case 9: {
424
9.77M
          p++;
425
9.77M
          goto s_n_llpkgc_dep__internal__n_after_name;
426
0
        }
427
0
        case 10: {
428
0
          p++;
429
0
          goto s_n_llpkgc_dep__internal__n_after_name;
430
0
        }
431
86.5k
        case 11: {
432
86.5k
          p++;
433
86.5k
          goto s_n_llpkgc_dep__internal__n_after_name;
434
0
        }
435
239k
        case 12: {
436
239k
          p++;
437
239k
          goto s_n_llpkgc_dep__internal__n_after_name;
438
0
        }
439
0
        case 13: {
440
0
          p++;
441
0
          goto s_n_llpkgc_dep__internal__n_after_name;
442
0
        }
443
23.7M
        case ' ': {
444
23.7M
          p++;
445
23.7M
          goto s_n_llpkgc_dep__internal__n_after_name;
446
0
        }
447
781k
        case '!': {
448
781k
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
449
0
        }
450
1.21M
        case '<': {
451
1.21M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
452
0
        }
453
1.58M
        case '=': {
454
1.58M
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
455
0
        }
456
732k
        case '>': {
457
732k
          goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
458
0
        }
459
24.9M
        default: {
460
24.9M
          goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete;
461
0
        }
462
63.1M
      }
463
63.1M
      UNREACHABLE;
464
63.1M
    }
465
0
    case s_n_llpkgc_dep__internal__n_invoke_update_finish_1:
466
3.25M
    s_n_llpkgc_dep__internal__n_invoke_update_finish_1: {
467
3.25M
      switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
468
3.25M
        default:
469
3.25M
          goto s_n_llpkgc_dep__internal__n_after_name;
470
3.25M
      }
471
3.25M
      UNREACHABLE;
472
3.25M
    }
473
0
    case s_n_llpkgc_dep__internal__n_invoke_update_finish_21:
474
26.0M
    s_n_llpkgc_dep__internal__n_invoke_update_finish_21: {
475
26.0M
      switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
476
26.0M
        default:
477
26.0M
          goto s_n_llpkgc_dep__internal__n_after_name;
478
26.0M
      }
479
26.0M
      UNREACHABLE;
480
26.0M
    }
481
0
    case s_n_llpkgc_dep__internal__n_name:
482
218M
    s_n_llpkgc_dep__internal__n_name: {
483
218M
      if (p == endp) {
484
968
        return s_n_llpkgc_dep__internal__n_name;
485
968
      }
486
218M
      switch (*p) {
487
8.79M
        case 9: {
488
8.79M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
489
0
        }
490
0
        case 10: {
491
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
492
0
        }
493
65.2k
        case 11: {
494
65.2k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
495
0
        }
496
62.5k
        case 12: {
497
62.5k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
498
0
        }
499
0
        case 13: {
500
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
501
0
        }
502
16.5M
        case ' ': {
503
16.5M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
504
0
        }
505
947k
        case '!': {
506
947k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2;
507
0
        }
508
507k
        case ',': {
509
507k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1;
510
0
        }
511
592k
        case '<': {
512
592k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2;
513
0
        }
514
3.32M
        case '=': {
515
3.32M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2;
516
0
        }
517
527k
        case '>': {
518
527k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2;
519
0
        }
520
187M
        default: {
521
187M
          p++;
522
187M
          goto s_n_llpkgc_dep__internal__n_name;
523
0
        }
524
218M
      }
525
218M
      UNREACHABLE;
526
218M
    }
527
0
    case s_n_llpkgc_dep__internal__n_first_name_character:
528
39.5M
    s_n_llpkgc_dep__internal__n_first_name_character: {
529
39.5M
      if (p == endp) {
530
101
        return s_n_llpkgc_dep__internal__n_first_name_character;
531
101
      }
532
39.5M
      switch (*p) {
533
419k
        case 9: {
534
419k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
535
0
        }
536
0
        case 10: {
537
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
538
0
        }
539
3.07k
        case 11: {
540
3.07k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
541
0
        }
542
3.98k
        case 12: {
543
3.98k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
544
0
        }
545
0
        case 13: {
546
0
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
547
0
        }
548
2.75M
        case ' ': {
549
2.75M
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
550
0
        }
551
735k
        case '!': {
552
735k
          p++;
553
735k
          goto s_n_llpkgc_dep__internal__n_first_name_character;
554
0
        }
555
74.2k
        case ',': {
556
74.2k
          goto s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name;
557
0
        }
558
109k
        case '<': {
559
109k
          p++;
560
109k
          goto s_n_llpkgc_dep__internal__n_first_name_character;
561
0
        }
562
2.72M
        case '=': {
563
2.72M
          p++;
564
2.72M
          goto s_n_llpkgc_dep__internal__n_first_name_character;
565
0
        }
566
1.27M
        case '>': {
567
1.27M
          p++;
568
1.27M
          goto s_n_llpkgc_dep__internal__n_first_name_character;
569
0
        }
570
31.4M
        default: {
571
31.4M
          goto s_n_llpkgc_dep__internal__n_name;
572
0
        }
573
39.5M
      }
574
39.5M
      UNREACHABLE;
575
39.5M
    }
576
0
    case s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name:
577
34.6M
    s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name: {
578
34.6M
      if (p == endp) {
579
0
        return s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name;
580
0
      }
581
34.6M
      state->_span_pos0 = (void*) p;
582
34.6M
      state->_span_cb0 = llpkgc_dep__on_dep_name;
583
34.6M
      goto s_n_llpkgc_dep__internal__n_invoke_update_finish;
584
34.6M
      UNREACHABLE;
585
34.6M
    }
586
2.81k
    case s_n_llpkgc_dep__internal__n_start:
587
48.8M
    s_n_llpkgc_dep__internal__n_start: {
588
48.8M
      if (p == endp) {
589
77
        return s_n_llpkgc_dep__internal__n_start;
590
77
      }
591
48.8M
      switch (*p) {
592
2.78M
        case 9: {
593
2.78M
          p++;
594
2.78M
          goto s_n_llpkgc_dep__internal__n_start;
595
0
        }
596
0
        case 10: {
597
0
          p++;
598
0
          goto s_n_llpkgc_dep__internal__n_start;
599
0
        }
600
64.3k
        case 11: {
601
64.3k
          p++;
602
64.3k
          goto s_n_llpkgc_dep__internal__n_start;
603
0
        }
604
106k
        case 12: {
605
106k
          p++;
606
106k
          goto s_n_llpkgc_dep__internal__n_start;
607
0
        }
608
0
        case 13: {
609
0
          p++;
610
0
          goto s_n_llpkgc_dep__internal__n_start;
611
0
        }
612
9.46M
        case ' ': {
613
9.46M
          p++;
614
9.46M
          goto s_n_llpkgc_dep__internal__n_start;
615
0
        }
616
1.78M
        case ',': {
617
1.78M
          p++;
618
1.78M
          goto s_n_llpkgc_dep__internal__n_start;
619
0
        }
620
34.6M
        default: {
621
34.6M
          goto s_n_llpkgc_dep__internal__n_invoke_update_comparator;
622
0
        }
623
48.8M
      }
624
48.8M
      UNREACHABLE;
625
48.8M
    }
626
0
    default:
627
0
      UNREACHABLE;
628
2.81k
  }
629
34.6M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_6: {
630
34.6M
    switch (llpkgc_dep__internal__c_update_finish_6(state, p, endp)) {
631
34.6M
      default:
632
34.6M
        goto s_n_llpkgc_dep__internal__n_start;
633
34.6M
    }
634
34.6M
    UNREACHABLE;
635
34.6M
  }
636
0
  s_n_llpkgc_dep__internal__n_error_1: {
637
0
    state->error = 0x5;
638
0
    state->reason = "Internal parser error";
639
0
    state->error_pos = (const char*) p;
640
0
    state->_current = (void*) (intptr_t) s_error;
641
0
    return s_error;
642
34.6M
    UNREACHABLE;
643
34.6M
  }
644
0
  s_n_llpkgc_dep__internal__n_error: {
645
0
    state->error = 0x2;
646
0
    state->reason = "Callback error";
647
0
    state->error_pos = (const char*) p;
648
0
    state->_current = (void*) (intptr_t) s_error;
649
0
    return s_error;
650
34.6M
    UNREACHABLE;
651
34.6M
  }
652
9.65M
  s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_version: {
653
9.65M
    const unsigned char* start;
654
9.65M
    int err;
655
656
9.65M
    start = state->_span_pos0;
657
9.65M
    state->_span_pos0 = NULL;
658
9.65M
    err = llpkgc_dep__on_dep_version(state, start, p);
659
9.65M
    if (err != 0) {
660
0
      state->error = err;
661
0
      state->error_pos = (const char*) p;
662
0
      state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete;
663
0
      return s_error;
664
0
    }
665
9.65M
    goto s_n_llpkgc_dep__internal__n_invoke_llpkgc_dep__on_dep_complete;
666
9.65M
    UNREACHABLE;
667
9.65M
  }
668
9.65M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_7: {
669
9.65M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
670
9.65M
      default:
671
9.65M
        goto s_n_llpkgc_dep__internal__n_version;
672
9.65M
    }
673
9.65M
    UNREACHABLE;
674
9.65M
  }
675
696k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_5: {
676
696k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
677
696k
      default:
678
696k
        goto s_n_llpkgc_dep__internal__n_before_version;
679
696k
    }
680
696k
    UNREACHABLE;
681
696k
  }
682
569k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_4: {
683
569k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
684
569k
      default:
685
569k
        goto s_n_llpkgc_dep__internal__n_unknown_operator;
686
569k
    }
687
569k
    UNREACHABLE;
688
569k
  }
689
569k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_2: {
690
569k
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
691
569k
      default:
692
569k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_4;
693
569k
    }
694
569k
    UNREACHABLE;
695
569k
  }
696
110k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_9: {
697
110k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
698
110k
      default:
699
110k
        goto s_n_llpkgc_dep__internal__n_unknown_operator;
700
110k
    }
701
110k
    UNREACHABLE;
702
110k
  }
703
110k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_4: {
704
110k
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
705
110k
      default:
706
110k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_9;
707
110k
    }
708
110k
    UNREACHABLE;
709
110k
  }
710
5.55M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_10: {
711
5.55M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
712
5.55M
      default:
713
5.55M
        goto s_n_llpkgc_dep__internal__n_before_version;
714
5.55M
    }
715
5.55M
    UNREACHABLE;
716
5.55M
  }
717
471k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_8: {
718
471k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
719
471k
      default:
720
471k
        goto s_n_llpkgc_dep__internal__n_operator_end;
721
471k
    }
722
471k
    UNREACHABLE;
723
471k
  }
724
471k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_3: {
725
471k
    switch (llpkgc_dep__internal__c_update_comparator_3(state, p, endp)) {
726
471k
      default:
727
471k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_8;
728
471k
    }
729
471k
    UNREACHABLE;
730
471k
  }
731
687k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_11: {
732
687k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
733
687k
      default:
734
687k
        goto s_n_llpkgc_dep__internal__n_before_version;
735
687k
    }
736
687k
    UNREACHABLE;
737
687k
  }
738
1.72M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_3: {
739
1.72M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
740
1.72M
      default:
741
1.72M
        goto s_n_llpkgc_dep__internal__n_not;
742
1.72M
    }
743
1.72M
    UNREACHABLE;
744
1.72M
  }
745
1.72M
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_1: {
746
1.72M
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
747
1.72M
      default:
748
1.72M
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_3;
749
1.72M
    }
750
1.72M
    UNREACHABLE;
751
1.72M
  }
752
9.49k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_13: {
753
9.49k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
754
9.49k
      default:
755
9.49k
        goto s_n_llpkgc_dep__internal__n_unknown_operator;
756
9.49k
    }
757
9.49k
    UNREACHABLE;
758
9.49k
  }
759
9.49k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_6: {
760
9.49k
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
761
9.49k
      default:
762
9.49k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_13;
763
9.49k
    }
764
9.49k
    UNREACHABLE;
765
9.49k
  }
766
123k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_14: {
767
123k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
768
123k
      default:
769
123k
        goto s_n_llpkgc_dep__internal__n_operator_end;
770
123k
    }
771
123k
    UNREACHABLE;
772
123k
  }
773
123k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_7: {
774
123k
    switch (llpkgc_dep__internal__c_update_comparator_7(state, p, endp)) {
775
123k
      default:
776
123k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_14;
777
123k
    }
778
123k
    UNREACHABLE;
779
123k
  }
780
1.67M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_15: {
781
1.67M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
782
1.67M
      default:
783
1.67M
        goto s_n_llpkgc_dep__internal__n_before_version;
784
1.67M
    }
785
1.67M
    UNREACHABLE;
786
1.67M
  }
787
1.80M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_12: {
788
1.80M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
789
1.80M
      default:
790
1.80M
        goto s_n_llpkgc_dep__internal__n_less_than;
791
1.80M
    }
792
1.80M
    UNREACHABLE;
793
1.80M
  }
794
1.80M
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_5: {
795
1.80M
    switch (llpkgc_dep__internal__c_update_comparator_5(state, p, endp)) {
796
1.80M
      default:
797
1.80M
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_12;
798
1.80M
    }
799
1.80M
    UNREACHABLE;
800
1.80M
  }
801
4.91M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_16: {
802
4.91M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
803
4.91M
      default:
804
4.91M
        goto s_n_llpkgc_dep__internal__n_operator_end;
805
4.91M
    }
806
4.91M
    UNREACHABLE;
807
4.91M
  }
808
4.91M
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_8: {
809
4.91M
    switch (llpkgc_dep__internal__c_update_comparator_8(state, p, endp)) {
810
4.91M
      default:
811
4.91M
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_16;
812
4.91M
    }
813
4.91M
    UNREACHABLE;
814
4.91M
  }
815
7.17k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_18: {
816
7.17k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
817
7.17k
      default:
818
7.17k
        goto s_n_llpkgc_dep__internal__n_unknown_operator;
819
7.17k
    }
820
7.17k
    UNREACHABLE;
821
7.17k
  }
822
7.17k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_10: {
823
7.17k
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
824
7.17k
      default:
825
7.17k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_18;
826
7.17k
    }
827
7.17k
    UNREACHABLE;
828
7.17k
  }
829
155k
  s_n_llpkgc_dep__internal__n_invoke_update_finish_19: {
830
155k
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
831
155k
      default:
832
155k
        goto s_n_llpkgc_dep__internal__n_operator_end;
833
155k
    }
834
155k
    UNREACHABLE;
835
155k
  }
836
155k
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_11: {
837
155k
    switch (llpkgc_dep__internal__c_update_comparator_11(state, p, endp)) {
838
155k
      default:
839
155k
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_19;
840
155k
    }
841
155k
    UNREACHABLE;
842
155k
  }
843
1.09M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_20: {
844
1.09M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
845
1.09M
      default:
846
1.09M
        goto s_n_llpkgc_dep__internal__n_before_version;
847
1.09M
    }
848
1.09M
    UNREACHABLE;
849
1.09M
  }
850
1.25M
  s_n_llpkgc_dep__internal__n_invoke_update_finish_17: {
851
1.25M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
852
1.25M
      default:
853
1.25M
        goto s_n_llpkgc_dep__internal__n_greater_than;
854
1.25M
    }
855
1.25M
    UNREACHABLE;
856
1.25M
  }
857
1.25M
  s_n_llpkgc_dep__internal__n_invoke_update_comparator_9: {
858
1.25M
    switch (llpkgc_dep__internal__c_update_comparator_9(state, p, endp)) {
859
1.25M
      default:
860
1.25M
        goto s_n_llpkgc_dep__internal__n_invoke_update_finish_17;
861
1.25M
    }
862
1.25M
    UNREACHABLE;
863
1.25M
  }
864
0
  s_n_llpkgc_dep__internal__n_error_2: {
865
0
    state->error = 0x4;
866
0
    state->reason = "Invalid dependency operator";
867
0
    state->error_pos = (const char*) p;
868
0
    state->_current = (void*) (intptr_t) s_error;
869
0
    return s_error;
870
1.25M
    UNREACHABLE;
871
1.25M
  }
872
3.25M
  s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name: {
873
3.25M
    const unsigned char* start;
874
3.25M
    int err;
875
876
3.25M
    start = state->_span_pos0;
877
3.25M
    state->_span_pos0 = NULL;
878
3.25M
    err = llpkgc_dep__on_dep_name(state, start, p);
879
3.25M
    if (err != 0) {
880
0
      state->error = err;
881
0
      state->error_pos = (const char*) p;
882
0
      state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_1;
883
0
      return s_error;
884
0
    }
885
3.25M
    goto s_n_llpkgc_dep__internal__n_invoke_update_finish_1;
886
3.25M
    UNREACHABLE;
887
3.25M
  }
888
26.0M
  s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_1: {
889
26.0M
    const unsigned char* start;
890
26.0M
    int err;
891
892
26.0M
    start = state->_span_pos0;
893
26.0M
    state->_span_pos0 = NULL;
894
26.0M
    err = llpkgc_dep__on_dep_name(state, start, p);
895
26.0M
    if (err != 0) {
896
0
      state->error = err;
897
0
      state->error_pos = (const char*) p;
898
0
      state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_21;
899
0
      return s_error;
900
0
    }
901
26.0M
    goto s_n_llpkgc_dep__internal__n_invoke_update_finish_21;
902
26.0M
    UNREACHABLE;
903
26.0M
  }
904
5.39M
  s_n_llpkgc_dep__internal__n_span_end_llpkgc_dep__on_dep_name_2: {
905
5.39M
    const unsigned char* start;
906
5.39M
    int err;
907
908
5.39M
    start = state->_span_pos0;
909
5.39M
    state->_span_pos0 = NULL;
910
5.39M
    err = llpkgc_dep__on_dep_name(state, start, p);
911
5.39M
    if (err != 0) {
912
0
      state->error = err;
913
0
      state->error_pos = (const char*) p;
914
0
      state->_current = (void*) (intptr_t) s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
915
0
      return s_error;
916
0
    }
917
5.39M
    goto s_n_llpkgc_dep__internal__n_invoke_update_finish_2;
918
5.39M
    UNREACHABLE;
919
5.39M
  }
920
34.6M
  s_n_llpkgc_dep__internal__n_invoke_update_finish: {
921
34.6M
    switch (llpkgc_dep__internal__c_update_finish(state, p, endp)) {
922
34.6M
      default:
923
34.6M
        goto s_n_llpkgc_dep__internal__n_first_name_character;
924
34.6M
    }
925
34.6M
    UNREACHABLE;
926
34.6M
  }
927
34.6M
  s_n_llpkgc_dep__internal__n_invoke_update_comparator: {
928
34.6M
    switch (llpkgc_dep__internal__c_update_comparator(state, p, endp)) {
929
34.6M
      default:
930
34.6M
        goto s_n_llpkgc_dep__internal__n_span_start_llpkgc_dep__on_dep_name;
931
34.6M
    }
932
34.6M
    UNREACHABLE;
933
34.6M
  }
934
34.6M
}
935
936
2.81k
int llpkgc_dep__internal_execute(llpkgc_dep__internal_t* state, const char* p, const char* endp) {
937
2.81k
  llparse_state_t next;
938
939
  /* check lingering errors */
940
2.81k
  if (state->error != 0) {
941
0
    return state->error;
942
0
  }
943
944
  /* restart spans */
945
2.81k
  if (state->_span_pos0 != NULL) {
946
0
    state->_span_pos0 = (void*) p;
947
0
  }
948
949
2.81k
  next = llpkgc_dep__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
950
2.81k
  if (next == s_error) {
951
0
    return state->error;
952
0
  }
953
2.81k
  state->_current = (void*) (intptr_t) next;
954
955
  /* execute spans */
956
2.81k
  if (state->_span_pos0 != NULL) {
957
2.23k
    int error;
958
959
2.23k
    error = ((llpkgc_dep__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
960
2.23k
    if (error != 0) {
961
0
      state->error = error;
962
0
      state->error_pos = endp;
963
0
      return error;
964
0
    }
965
2.23k
  }
966
967
2.81k
  return 0;
968
2.81k
}
969
#include <string.h>
970
#include "llpkgc_dep.h"
971
int llpkgc_dep__on_dep_complete(llpkgc_dep_t*, const unsigned char*, const unsigned char*);
972
973
2.94k
int llpkgc_dep__on_dep_list_complete(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) {
974
2.94k
  const llpkgc_dep_settings_t* settings = s->settings;
975
2.94k
  int err;
976
2.94k
  if (settings == NULL || settings->on_dep_list_complete == NULL) return 0;
977
0
  err = settings->on_dep_list_complete(s);
978
0
  if (err != 0) {
979
0
    if (s->reason == NULL) s->reason = "User callback error in on_dep_list_complete";
980
0
    s->callback_reason = (void*) s->reason;
981
0
    return PDEP_USER;
982
0
  }
983
0
  return 0;
984
0
}
985
986
34.6M
int llpkgc_dep__on_dep_name(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) {
987
34.6M
  const llpkgc_dep_settings_t* settings = s->settings;
988
34.6M
  int err;
989
34.6M
  if (settings == NULL || settings->on_dep_name == NULL) return 0;
990
34.6M
  err = settings->on_dep_name(s, (const char*) p, (size_t) (endp - p));
991
34.6M
  if (err != 0) {
992
0
    if (s->reason == NULL) s->reason = "User callback error in on_dep_name";
993
0
    s->callback_reason = (void*) s->reason;
994
0
    return PDEP_USER;
995
0
  }
996
34.6M
  return 0;
997
34.6M
}
998
999
9.65M
int llpkgc_dep__on_dep_version(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) {
1000
9.65M
  const llpkgc_dep_settings_t* settings = s->settings;
1001
9.65M
  int err;
1002
9.65M
  if (settings == NULL || settings->on_dep_version == NULL) return 0;
1003
9.65M
  err = settings->on_dep_version(s, (const char*) p, (size_t) (endp - p));
1004
9.65M
  if (err != 0) {
1005
0
    if (s->reason == NULL) s->reason = "User callback error in on_dep_version";
1006
0
    s->callback_reason = (void*) s->reason;
1007
0
    return PDEP_USER;
1008
0
  }
1009
9.65M
  return 0;
1010
9.65M
}
1011
1012
34.6M
int llpkgc_dep__on_dep_complete(llpkgc_dep_t* s, const unsigned char* p, const unsigned char* endp) {
1013
34.6M
  const llpkgc_dep_settings_t* settings = s->settings;
1014
34.6M
  int err;
1015
34.6M
  if (settings == NULL || settings->on_dep_complete == NULL) return 0;
1016
34.6M
  err = settings->on_dep_complete(s);
1017
34.6M
  if (err != 0) {
1018
0
    if (s->reason == NULL) s->reason = "User callback error in on_dep_complete";
1019
0
    s->callback_reason = (void*) s->reason;
1020
0
    return PDEP_USER;
1021
0
  }
1022
34.6M
  return 0;
1023
34.6M
}
1024
1025
2.94k
void llpkgc_dep_init(llpkgc_dep_t* s, const llpkgc_dep_settings_t* settings) {
1026
2.94k
  llpkgc_dep__internal_init(s);
1027
2.94k
  s->settings = (void*) settings;
1028
2.94k
}
1029
0
void llpkgc_dep_reset(llpkgc_dep_t* s) {
1030
0
  const llpkgc_dep_settings_t* settings = s->settings;
1031
0
  void* data = s->data;
1032
0
  llpkgc_dep_init(s, settings);
1033
0
  s->data = data;
1034
0
}
1035
0
void llpkgc_dep_settings_init(llpkgc_dep_settings_t* settings) {
1036
0
  memset(settings, 0, sizeof(*settings));
1037
0
}
1038
2.94k
llpkgc_dep_errno_t llpkgc_dep_execute(llpkgc_dep_t* s, const char* data, size_t len) {
1039
2.94k
  if (s->error != 0) return s->error;
1040
2.94k
  if (s->done) {
1041
0
    s->reason = "Input after finish";
1042
0
    s->error_pos = data;
1043
0
    return s->error = PDEP_INVALID;
1044
0
  }
1045
1046
2.94k
  if (len == 0) return PDEP_OK;
1047
2.81k
  s->end = (void*) (data + len);
1048
2.81k
  {
1049
2.81k
    int err = llpkgc_dep__internal_execute(s, data, data + len);
1050
2.81k
    if (err == PDEP_USER && s->callback_reason != NULL)
1051
0
      s->reason = s->callback_reason;
1052
1053
2.81k
    return err;
1054
2.94k
  }
1055
2.94k
}
1056
2.94k
llpkgc_dep_errno_t llpkgc_dep_finish(llpkgc_dep_t* s) {
1057
2.94k
  int err;
1058
2.94k
  if (s->error != 0) return s->error;
1059
2.94k
  if (s->done) return PDEP_OK;
1060
2.94k
  switch (s->finish) {
1061
208
    case 0:
1062
208
        err = llpkgc_dep__on_dep_list_complete(s, s->end, s->end);
1063
208
        if (err != 0) {
1064
0
          s->error = err;
1065
0
          s->error_pos = s->end;
1066
0
          return s->error;
1067
0
        }
1068
208
       break;
1069
2.73k
case 1:
1070
2.73k
        err = llpkgc_dep__on_dep_complete(s, s->end, s->end);
1071
2.73k
        if (err != 0) {
1072
0
          s->error = err;
1073
0
          s->error_pos = s->end;
1074
0
          return s->error;
1075
0
        }
1076
1077
2.73k
        err = llpkgc_dep__on_dep_list_complete(s, s->end, s->end);
1078
2.73k
        if (err != 0) {
1079
0
          s->error = err;
1080
0
          s->error_pos = s->end;
1081
0
          return s->error;
1082
0
        }
1083
2.73k
       break;
1084
2.73k
    default: s->reason = "Invalid finish action"; return s->error = PDEP_INTERNAL;
1085
2.94k
  }
1086
2.94k
  s->done = 1;
1087
2.94k
  return PDEP_OK;
1088
2.94k
}
1089
0
llpkgc_dep_errno_t llpkgc_dep_get_errno(const llpkgc_dep_t* s) { return s->error; }
1090
0
const char* llpkgc_dep_get_error_reason(const llpkgc_dep_t* s) { return s->reason; }
1091
0
void llpkgc_dep_set_error_reason(llpkgc_dep_t* s, const char* reason) { s->reason = reason; }
1092
0
const char* llpkgc_dep_get_error_pos(const llpkgc_dep_t* s) { return s->error_pos; }
1093
0
const char* llpkgc_dep_errno_name(llpkgc_dep_errno_t err) {
1094
0
  switch (err) {
1095
0
    case PDEP_OK: return "PDEP_OK";
1096
0
    case PDEP_USER: return "PDEP_USER";
1097
0
    case PDEP_UNFINISHED: return "PDEP_UNFINISHED";
1098
0
    case PDEP_INVALID: return "PDEP_INVALID";
1099
1100
0
    default: return "PDEP_INTERNAL";
1101
0
  }
1102
0
}
1103