mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
This commit is contained in:
parent
46b1b1b900
commit
cda087f3dc
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@ -46,6 +46,8 @@ jobs:
|
||||
run: python3 scripts/run_tests.py
|
||||
- name: Benchmark
|
||||
run: python3 scripts/run_tests.py benchmark
|
||||
- name: GCC Build Test
|
||||
run: g++ -o pocketpy --std=c++17 src/main.cpp
|
||||
build_macos:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
|
8
src/io.h
8
src/io.h
@ -31,16 +31,16 @@ struct FileIO {
|
||||
bool is_text() const { return mode != "rb" && mode != "wb" && mode != "ab"; }
|
||||
|
||||
FileIO(VM* vm, Str file, Str mode): file(file), mode(mode) {
|
||||
std::ios_base::openmode extra = 0;
|
||||
std::ios_base::openmode extra = static_cast<std::ios_base::openmode>(0);
|
||||
if(mode == "rb" || mode == "wb" || mode == "ab"){
|
||||
extra |= std::ios::binary;
|
||||
}
|
||||
if(mode == "rt" || mode == "r" || mode == "rb"){
|
||||
_fs.open(file.sv(), std::ios::in | extra);
|
||||
_fs.open(file.str(), std::ios::in | extra);
|
||||
}else if(mode == "wt" || mode == "w" || mode == "wb"){
|
||||
_fs.open(file.sv(), std::ios::out | extra);
|
||||
_fs.open(file.str(), std::ios::out | extra);
|
||||
}else if(mode == "at" || mode == "a" || mode == "ab"){
|
||||
_fs.open(file.sv(), std::ios::app | extra);
|
||||
_fs.open(file.str(), std::ios::app | extra);
|
||||
}else{
|
||||
vm->ValueError("invalid mode");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user