@@ -3228,13 +3228,24 @@ static code_reach_t generate_quantifying_code(generate_t *gen, const node_t *exp
32283228 stream__write_characters (gen -> stream , ' ' , indent );
32293229 stream__puts (gen -> stream , "const size_t n0 = chunk->thunks.len;\n" );
32303230 }
3231- stream__write_characters (gen -> stream , ' ' , indent );
3232- stream__puts (gen -> stream , "int i;\n" );
3233- stream__write_characters (gen -> stream , ' ' , indent );
3234- if (max < 0 )
3235- stream__puts (gen -> stream , "for (i = 0;; i++) {\n" );
3236- else
3231+ if (max < 0 ) {
3232+ if (min > 0 ) {
3233+ stream__write_characters (gen -> stream , ' ' , indent );
3234+ stream__puts (gen -> stream , "int i;\n" );
3235+ stream__write_characters (gen -> stream , ' ' , indent );
3236+ stream__puts (gen -> stream , "for (i = 0;; i++) {\n" );
3237+ }
3238+ else {
3239+ stream__write_characters (gen -> stream , ' ' , indent );
3240+ stream__puts (gen -> stream , "for (;;) {\n" );
3241+ }
3242+ }
3243+ else {
3244+ stream__write_characters (gen -> stream , ' ' , indent );
3245+ stream__puts (gen -> stream , "int i;\n" );
3246+ stream__write_characters (gen -> stream , ' ' , indent );
32373247 stream__printf (gen -> stream , "for (i = 0; i < %d; i++) {\n" , max );
3248+ }
32383249 stream__write_characters (gen -> stream , ' ' , indent + 4 );
32393250 stream__puts (gen -> stream , "const size_t p = ctx->cur;\n" );
32403251 stream__write_characters (gen -> stream , ' ' , indent + 4 );
0 commit comments