Comments (4)
Thanks to catch this. Port-seek
eventually calls lseek instead of fseek, for we don't use FILE* layer, but it's effectively the same for this issue. The problem is that port-seek
tries to "optimize", that is, it avoids calling lseek if we "know" the current position. And the appending case we incorrectly assume we know the initial position. Will fix.
from gauche.
Thanks. Btw, Gauche's manual points out the equivalence between port-tell
and port-seek
, it just happens to be confusing in this particular case.
I found a similar (but different) issue in chibi-scheme, already reported it.
from gauche.
Oops, nope, the analysis above was wrong. We do call lseek(2) in the case of initial port-tell
right after appending open, and lseek(2) returns zero in that case. It seems that we need explicit seek to the end to make lseek return a correct number.
from gauche.
Fix pushed 946ac64
from gauche.
Related Issues (20)
- Revise uuid API
- Better genconfig
- write-uvector doesn't understand 'big endianness HOT 2
- Detangle `ScmEscapePoint` HOT 1
- generic ref for <box> HOT 2
- gauche.collection breaks repl completion? HOT 3
- Rewrite `let-args` to object-centric model
- Efficient parameterizaton of ScmNumberFormat through ScmWriteControls
- Hide sensitive info from `-V` output HOT 3
- Security implication of `COMPILE_R7RS` HOT 3
- ffitest error on Fedora 40
- Better handling of `slibcat` generation when `DESTDIR` is set
- MbedTLS 3.6.0 doesn't work with Gauche HOT 4
- Running gosh during document installation hinders installing to `DESTDIR`
- idea: Convenience accessor of aggregate objects, like `let-hash` in Gerbil
- Strange behavior of text.tr when spec contains backslash HOT 2
- Rescue mode
- Call to pprint via `%W` from `Scm_Vprintf` sometimes doesn't work HOT 1
- idea: Non-advertised slots
- Printing circular data invoving hashtables
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gauche.