Skip to content

Commit 8dedfff

Browse files
authored
fix: fix carp-lang#1468 by using size_t (carp-lang#1516)
1 parent 8f5c480 commit 8dedfff

2 files changed

Lines changed: 16 additions & 16 deletions

File tree

core/carp_pattern.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,8 @@ void Pattern_internal_reprepstate(PatternMatchState* ms) {
450450
Array Pattern_match_MINUS_groups(Pattern* p, String* s) {
451451
String str = *s;
452452
Pattern pat = *p;
453-
int lstr = strlen(str);
454-
int lpat = strlen(pat);
453+
size_t lstr = strlen(str);
454+
size_t lpat = strlen(pat);
455455
PatternMatchState ms;
456456
String s1 = str;
457457
int anchor = (*pat == '^');
@@ -484,8 +484,8 @@ PatternMatchResult Pattern_match_MINUS_from(Pattern* p, String* s,
484484
PatternMatchResult result = {.start = -1, .end = -1};
485485
String str = *s + startpos;
486486
Pattern pat = *p;
487-
int lstr = strlen(str);
488-
int lpat = strlen(pat);
487+
size_t lstr = strlen(str);
488+
size_t lpat = strlen(pat);
489489
PatternMatchState ms;
490490
String s1 = str;
491491
int anchor = (*pat == '^');
@@ -546,8 +546,8 @@ Array Array_push_back(Array res, Array tmp) {
546546
Array Pattern_match_MINUS_all_MINUS_groups(Pattern* p, String* s) {
547547
String str = *s;
548548
Pattern pat = *p;
549-
int lstr = strlen(str);
550-
int lpat = strlen(pat);
549+
size_t lstr = strlen(str);
550+
size_t lpat = strlen(pat);
551551
PatternGMatchState gm;
552552
Pattern_internal_prepstate(&gm.ms, str, lstr, pat, lpat);
553553
gm.src = str;
@@ -572,7 +572,7 @@ String Pattern_internal_add_char(String a, Char b) {
572572
return buffer;
573573
}
574574

575-
int len = strlen(a) + 2;
575+
size_t len = strlen(a) + 2;
576576
String buffer = CARP_MALLOC(len);
577577
snprintf(buffer, len, "%s%c", a, b);
578578
CARP_FREE(a);
@@ -613,8 +613,8 @@ String Pattern_substitute(Pattern* p, String* s, String* t, int ns) {
613613
String str = *s;
614614
Pattern pat = *p;
615615
String tr = *t;
616-
int lstr = strlen(str);
617-
int lpat = strlen(pat);
616+
size_t lstr = strlen(str);
617+
size_t lpat = strlen(pat);
618618
String lastmatch = NULL; /* end of last match */
619619
int anchor = (*pat == '^');
620620
String res = NULL;
@@ -643,7 +643,7 @@ String Pattern_substitute(Pattern* p, String* s, String* t, int ns) {
643643

644644
if (!res) return String_copy(&str);
645645

646-
int l = strlen(res) + strlen(str) + 1;
646+
size_t l = strlen(res) + strlen(str) + 1;
647647
String buffer = CARP_MALLOC(l);
648648
snprintf(buffer, l, "%s%s", res, str);
649649
CARP_FREE(res);
@@ -669,7 +669,7 @@ String Pattern_str(Pattern* p) {
669669
}
670670

671671
String Pattern_prn(Pattern* p) {
672-
int n = strlen(*p) + 4;
672+
size_t n = strlen(*p) + 4;
673673
String buffer = CARP_MALLOC(n);
674674
snprintf(buffer, n, "#\"%s\"", *p);
675675
return buffer;

core/carp_string.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ bool String__LT_(const String* a, const String* b) {
8181
}
8282

8383
String String_append(const String* a, const String* b) {
84-
int la = strlen(*a);
85-
int lb = strlen(*b);
86-
int total = la + lb + 1;
84+
size_t la = strlen(*a);
85+
size_t lb = strlen(*b);
86+
size_t total = la + lb + 1;
8787
String buffer = CARP_MALLOC(total);
8888
memcpy(buffer, *a, la);
8989
memcpy(buffer + la, *b, lb);
@@ -117,12 +117,12 @@ int count_occurrences(String s, char c) {
117117
}
118118

119119
String String_prn(const String* s) {
120-
int n = strlen(*s) + 4 + count_occurrences(*s, '"');
120+
size_t n = strlen(*s) + 4 + count_occurrences(*s, '"');
121121
String buffer = CARP_MALLOC(n);
122122
buffer[0] = '@';
123123
buffer[1] = '"';
124124
String c = *s;
125-
for (int i = 2; i < n - 2; i++) {
125+
for (size_t i = 2; i < n - 2; i++) {
126126
if (*c == '"') buffer[i++] = '\\';
127127
buffer[i] = *c;
128128
c++;

0 commit comments

Comments
 (0)