X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fliburi.so_src%2Fmain.c;h=a9f2e1757aa6b231ceac40c78eace3072b5c1b84;hb=e1e28eeec4619359322227478d826e3dcdd0a09d;hp=bf88b98d98d6bdc79cc8c7f7c4270d63b56819f5;hpb=08e1f139ca02aa899f698d90146a5bc9926c2f37;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/liburi.so_src/main.c b/Usermode/Libraries/liburi.so_src/main.c index bf88b98d..a9f2e175 100644 --- a/Usermode/Libraries/liburi.so_src/main.c +++ b/Usermode/Libraries/liburi.so_src/main.c @@ -32,7 +32,7 @@ void URI_Close(tURIFile *File); size_t URI_file_Read(int Handle, size_t Bytes, void *Buffer); size_t URI_file_Write(int Handle, size_t Bytes, void *Buffer); void URI_file_Close(int Handle); -size_t URI_file_GetSize(int Handle); +off_t URI_file_GetSize(int Handle); // === CONSTANTS === // Builtin URI protocol handlers @@ -63,7 +63,7 @@ tURI *URI_Parse(const char *String) { int hostlen, portlen, pathlen; tmp += 3; // Eat '://' - ret = malloc(sizeof(tURI) + strlen(String) - 2); + ret = malloc(sizeof(tURI) + protolen + 1 + strlen(tmp) + 1); ret->Proto = (char*)ret + sizeof(tURI); memcpy(ret->Proto, String, protolen); @@ -140,14 +140,8 @@ tURI *URI_Parse(const char *String) else ret->Path = ret->Host + hostlen + 1; - tmp ++; pathlen = 0; - while(*tmp) - { - ret->Path[pathlen] = *tmp; - tmp ++; - pathlen ++; - } + strcpy(ret->Path, tmp); return ret; } @@ -319,7 +313,7 @@ int URI_file_Open(char *Host, int Port, char *Path, int Mode) // printf("URI_file_Open: open('%s', 0x%x)\n", Path, smode); { int ret; - ret = open(Path, smode); + ret = _SysOpen(Path, smode); return ret; } } @@ -327,22 +321,22 @@ size_t URI_file_Read(int Handle, size_t Bytes, void *Buffer) { // printf("URI_file_Read: (Handle=%i, Buffer=%p, Bytes=%i)\n", // Handle, Buffer, (int)Bytes); - return read(Handle, Buffer, Bytes); + return _SysRead(Handle, Buffer, Bytes); } size_t URI_file_Write(int Handle, size_t Bytes, void *Buffer) { - return write(Handle, Buffer, Bytes); + return _SysWrite(Handle, Buffer, Bytes); } void URI_file_Close(int Handle) { - close(Handle); + _SysClose(Handle); } -size_t URI_file_GetSize(int Handle) +off_t URI_file_GetSize(int Handle) { - uint64_t curpos = tell(Handle); - size_t ret; - seek(Handle, 0, SEEK_END); - ret = tell(Handle); - seek(Handle, curpos, SEEK_SET); + uint64_t curpos = _SysTell(Handle); + off_t ret; + _SysSeek(Handle, 0, SEEK_END); + ret = _SysTell(Handle); + _SysSeek(Handle, curpos, SEEK_SET); return ret; }