VFS: Fix line-reading to return proper values
This commit is contained in:
parent
6589eade24
commit
6f4871fb72
1
CHANGES
1
CHANGES
@ -45,6 +45,7 @@ Bugfixes:
|
|||||||
- ARM7: Fix timing of multiplies to use N cycles
|
- ARM7: Fix timing of multiplies to use N cycles
|
||||||
- GBA: Fix calls to endian-independent loadstores
|
- GBA: Fix calls to endian-independent loadstores
|
||||||
- GBA Video: Fix windows not affecting sprites
|
- GBA Video: Fix windows not affecting sprites
|
||||||
|
- VFS: Fix line-reading to return proper values
|
||||||
Misc:
|
Misc:
|
||||||
- Qt: Handle saving input settings better
|
- Qt: Handle saving input settings better
|
||||||
- Debugger: Free watchpoints in addition to breakpoints
|
- Debugger: Free watchpoints in addition to breakpoints
|
||||||
|
@ -6,15 +6,19 @@
|
|||||||
#include "vfs.h"
|
#include "vfs.h"
|
||||||
|
|
||||||
ssize_t VFileReadline(struct VFile* vf, char* buffer, size_t size) {
|
ssize_t VFileReadline(struct VFile* vf, char* buffer, size_t size) {
|
||||||
size_t bytesRead = 0;
|
ssize_t bytesRead = 0;
|
||||||
while (bytesRead < size - 1) {
|
while (bytesRead < size - 1) {
|
||||||
size_t newRead = vf->read(vf, &buffer[bytesRead], 1);
|
ssize_t newRead = vf->read(vf, &buffer[bytesRead], 1);
|
||||||
|
if (newRead <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
bytesRead += newRead;
|
bytesRead += newRead;
|
||||||
if (!newRead || buffer[bytesRead] == '\n') {
|
if (buffer[bytesRead] == '\n') {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return buffer[bytesRead] = '\0';
|
buffer[bytesRead] = '\0';
|
||||||
|
return bytesRead;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t VFileWrite32LE(struct VFile* vf, int32_t word) {
|
ssize_t VFileWrite32LE(struct VFile* vf, int32_t word) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user