SIZE_MAX is not defined in ISO C89
This commit is contained in:
parent
32d6760d4f
commit
6af010f26d
|
@ -368,17 +368,19 @@ pic_str_string_map(pic_state *pic)
|
||||||
|
|
||||||
pic_get_args(pic, "l*", &proc, &argc, &argv);
|
pic_get_args(pic, "l*", &proc, &argc, &argv);
|
||||||
|
|
||||||
len = SIZE_MAX;
|
if (argc == 0) {
|
||||||
for (i = 0; i < argc; ++i) {
|
pic_errorf(pic, "string-map: one or more strings expected, but got zero");
|
||||||
|
} else {
|
||||||
|
pic_assert_type(pic, argv[0], str);
|
||||||
|
len = pic_strlen(pic_str_ptr(argv[0]));
|
||||||
|
}
|
||||||
|
for (i = 1; i < argc; ++i) {
|
||||||
pic_assert_type(pic, argv[i], str);
|
pic_assert_type(pic, argv[i], str);
|
||||||
|
|
||||||
len = len < pic_strlen(pic_str_ptr(argv[i]))
|
len = len < pic_strlen(pic_str_ptr(argv[i]))
|
||||||
? len
|
? len
|
||||||
: pic_strlen(pic_str_ptr(argv[i]));
|
: pic_strlen(pic_str_ptr(argv[i]));
|
||||||
}
|
}
|
||||||
if (len == SIZE_MAX) {
|
|
||||||
pic_errorf(pic, "string-map: one or more strings expected, but got zero");
|
|
||||||
}
|
|
||||||
buf = pic_malloc(pic, len);
|
buf = pic_malloc(pic, len);
|
||||||
|
|
||||||
pic_try {
|
pic_try {
|
||||||
|
@ -413,17 +415,19 @@ pic_str_string_for_each(pic_state *pic)
|
||||||
|
|
||||||
pic_get_args(pic, "l*", &proc, &argc, &argv);
|
pic_get_args(pic, "l*", &proc, &argc, &argv);
|
||||||
|
|
||||||
len = SIZE_MAX;
|
if (argc == 0) {
|
||||||
for (i = 0; i < argc; ++i) {
|
pic_errorf(pic, "string-map: one or more strings expected, but got zero");
|
||||||
|
} else {
|
||||||
|
pic_assert_type(pic, argv[0], str);
|
||||||
|
len = pic_strlen(pic_str_ptr(argv[0]));
|
||||||
|
}
|
||||||
|
for (i = 1; i < argc; ++i) {
|
||||||
pic_assert_type(pic, argv[i], str);
|
pic_assert_type(pic, argv[i], str);
|
||||||
|
|
||||||
len = len < pic_strlen(pic_str_ptr(argv[i]))
|
len = len < pic_strlen(pic_str_ptr(argv[i]))
|
||||||
? len
|
? len
|
||||||
: pic_strlen(pic_str_ptr(argv[i]));
|
: pic_strlen(pic_str_ptr(argv[i]));
|
||||||
}
|
}
|
||||||
if (len == SIZE_MAX) {
|
|
||||||
pic_errorf(pic, "string-map: one or more strings expected, but got zero");
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < len; ++i) {
|
for (i = 0; i < len; ++i) {
|
||||||
vals = pic_nil_value();
|
vals = pic_nil_value();
|
||||||
|
|
|
@ -200,6 +200,7 @@ pic_get_args(pic_state *pic, const char *format, ...)
|
||||||
if (i < argc) {
|
if (i < argc) {
|
||||||
pic_value v;
|
pic_value v;
|
||||||
int x;
|
int x;
|
||||||
|
size_t s;
|
||||||
|
|
||||||
v = GET_OPERAND(pic, i);
|
v = GET_OPERAND(pic, i);
|
||||||
switch (pic_type(v)) {
|
switch (pic_type(v)) {
|
||||||
|
@ -208,8 +209,9 @@ pic_get_args(pic_state *pic, const char *format, ...)
|
||||||
if (x < 0) {
|
if (x < 0) {
|
||||||
pic_errorf(pic, "pic_get_args: expected non-negative int, but got ~s", v);
|
pic_errorf(pic, "pic_get_args: expected non-negative int, but got ~s", v);
|
||||||
}
|
}
|
||||||
|
s = (size_t)x;
|
||||||
if (sizeof(unsigned) > sizeof(size_t)) {
|
if (sizeof(unsigned) > sizeof(size_t)) {
|
||||||
if ((unsigned)x > (unsigned)SIZE_MAX) {
|
if (x != (int)s) {
|
||||||
pic_errorf(pic, "pic_get_args: int unrepresentable with size_t ~s", v);
|
pic_errorf(pic, "pic_get_args: int unrepresentable with size_t ~s", v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue