X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fvfs%2Fopen.c;h=0013dee14487aa2099b5161d204ce477c19652e4;hb=ba8c9b788dd5b91dd172d2bbf07ae94e660ffd7d;hp=a37461479507efe35d9212f8be5b05b9bd89add6;hpb=0a4d3990606a8c9873f4b96079a6e67fb0a2b48a;p=tpg%2Facess2.git diff --git a/Kernel/vfs/open.c b/Kernel/vfs/open.c index a3746147..0013dee1 100644 --- a/Kernel/vfs/open.c +++ b/Kernel/vfs/open.c @@ -100,11 +100,12 @@ char *VFS_GetAbsPath(char *Path) // Only copy if the positions differ if(read != write) { Log("write = %i, read = %i", write, read); - memcpy( &ret[write], &ret[read], pos-read ); + memcpy( &ret[write], &ret[read], pos-read+1 ); } - write = pos+1; + write += (pos-read)+1; + if(slashNum < MAX_PATH_SLASHES) - slashOffsets[ slashNum++ ] = pos; + slashOffsets[ slashNum++ ] = write; else { LOG("Path '%s' has too many elements", Path); free(ret);