More fixing.
This commit is contained in:
parent
058eb917d1
commit
e8d3d784ab
|
@ -143,7 +143,7 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
BEST_TIME("json_parse despaced", json_parse((const u8*)buffer, minisize, pj2), true, memcpy(buffer, minibuffer, p.size()), repeat, volume, true);
|
BEST_TIME("json_parse despaced", json_parse((const u8*)buffer, minisize, pj2), true, memcpy(buffer, minibuffer, p.size()), repeat, volume, true);
|
||||||
|
free((void*)p.data());
|
||||||
free(buffer);
|
free(buffer);
|
||||||
free(ast_buffer);
|
free(ast_buffer);
|
||||||
free(minibuffer);
|
free(minibuffer);
|
||||||
|
|
|
@ -229,6 +229,7 @@ int main(int argc, char *argv[]) {
|
||||||
if(dump) {
|
if(dump) {
|
||||||
isok = isok && pj.dump_raw_tape(std::cout);
|
isok = isok && pj.dump_raw_tape(std::cout);
|
||||||
}
|
}
|
||||||
|
free((void*)p.data());
|
||||||
if (!isok) {
|
if (!isok) {
|
||||||
printf(" Parsing failed. \n ");
|
printf(" Parsing failed. \n ");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
|
@ -121,6 +121,7 @@ int main(int argc, char *argv[]) {
|
||||||
void *state;
|
void *state;
|
||||||
if(all) BEST_TIME("ultrajson ", (UJDecode(buffer, p.size(), NULL, &state) == NULL), false, memcpy(buffer, p.data(), p.size()), repeat, volume, true);
|
if(all) BEST_TIME("ultrajson ", (UJDecode(buffer, p.size(), NULL, &state) == NULL), false, memcpy(buffer, p.data(), p.size()), repeat, volume, true);
|
||||||
BEST_TIME("memcpy ", (memcpy(buffer, p.data(), p.size()) == buffer), true, , repeat, volume, true);
|
BEST_TIME("memcpy ", (memcpy(buffer, p.data(), p.size()) == buffer), true, , repeat, volume, true);
|
||||||
|
free((void*)p.data());
|
||||||
free(ast_buffer);
|
free(ast_buffer);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,12 +26,13 @@ char * allocate_padded_buffer(size_t length);
|
||||||
// throws exceptions in case of failure
|
// throws exceptions in case of failure
|
||||||
// first element of the pair is a string (null terminated)
|
// first element of the pair is a string (null terminated)
|
||||||
// whereas the second element is the length.
|
// whereas the second element is the length.
|
||||||
// caller is responsible to free (free std::pair<u8 *, size_t>.first)
|
// caller is responsible to free (free((void*)result.data())))
|
||||||
//
|
//
|
||||||
// throws an exception if the file cannot be opened, use try/catch
|
// throws an exception if the file cannot be opened, use try/catch
|
||||||
// try {
|
// try {
|
||||||
// p = get_corpus(filename);
|
// p = get_corpus(filename);
|
||||||
// } catch (const std::exception& e) {
|
// } catch (const std::exception& e) {
|
||||||
|
// free((void*)p.data());
|
||||||
// std::cout << "Could not load the file " << filename << std::endl;
|
// std::cout << "Could not load the file " << filename << std::endl;
|
||||||
// }
|
// }
|
||||||
std::string_view get_corpus(std::string filename);
|
std::string_view get_corpus(std::string filename);
|
||||||
|
|
|
@ -25,9 +25,12 @@ std::string_view get_corpus(std::string filename) {
|
||||||
throw std::runtime_error("could not allocate memory");
|
throw std::runtime_error("could not allocate memory");
|
||||||
}
|
}
|
||||||
std::rewind(fp);
|
std::rewind(fp);
|
||||||
std::fread(buf, 1, len, fp);
|
size_t readb = std::fread(buf, 1, len, fp);
|
||||||
//buf[len] = '\0';// no need
|
|
||||||
std::fclose(fp);
|
std::fclose(fp);
|
||||||
|
if(readb != len) {
|
||||||
|
free(buf);
|
||||||
|
throw std::runtime_error("could not read the data");
|
||||||
|
}
|
||||||
return std::string_view(buf,len);
|
return std::string_view(buf,len);
|
||||||
}
|
}
|
||||||
throw std::runtime_error("could not load corpus");
|
throw std::runtime_error("could not load corpus");
|
||||||
|
|
|
@ -108,7 +108,7 @@ int main(int argc, char *argv[]) {
|
||||||
printf("fastjson : %s \n", fastjson_correct ? "correct":"invalid");
|
printf("fastjson : %s \n", fastjson_correct ? "correct":"invalid");
|
||||||
printf("gason : %s \n", gason_correct ? "correct":"invalid");
|
printf("gason : %s \n", gason_correct ? "correct":"invalid");
|
||||||
printf("ultrajson : %s \n", ultrajson_correct ? "correct":"invalid");
|
printf("ultrajson : %s \n", ultrajson_correct ? "correct":"invalid");
|
||||||
|
free((void*)p.data());
|
||||||
free(buffer);
|
free(buffer);
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,6 +75,7 @@ bool validate(const char *dirname) {
|
||||||
}
|
}
|
||||||
++howmany;
|
++howmany;
|
||||||
bool isok = json_parse(p, pj);
|
bool isok = json_parse(p, pj);
|
||||||
|
free((void*)p.data());
|
||||||
printf("%s\n", isok ? "ok" : "invalid");
|
printf("%s\n", isok ? "ok" : "invalid");
|
||||||
if(contains("EXCLUDE",name)) {
|
if(contains("EXCLUDE",name)) {
|
||||||
// skipping
|
// skipping
|
||||||
|
|
|
@ -154,6 +154,7 @@ bool validate(const char *dirname) {
|
||||||
float_count, invalid_count,
|
float_count, invalid_count,
|
||||||
int_count + float_count + invalid_count);
|
int_count + float_count + invalid_count);
|
||||||
}
|
}
|
||||||
|
free((void*)p.data());
|
||||||
free(fullpath);
|
free(fullpath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -343,6 +343,7 @@ bool validate(const char *dirname) {
|
||||||
total_string_length = 0;
|
total_string_length = 0;
|
||||||
empty_string = 0;
|
empty_string = 0;
|
||||||
bool isok = json_parse(p, pj);
|
bool isok = json_parse(p, pj);
|
||||||
|
free((void*)p.data());
|
||||||
if (good_string > 0) {
|
if (good_string > 0) {
|
||||||
printf("File %40s %s --- bad strings: %10zu \tgood strings: %10zu\t "
|
printf("File %40s %s --- bad strings: %10zu \tgood strings: %10zu\t "
|
||||||
"empty strings: %10zu "
|
"empty strings: %10zu "
|
||||||
|
|
Loading…
Reference in New Issue