Skip to content
Success

Changes

Summary

  1. Use caml_unix_error instead of errno+caml_uerror (details)
  2. Symmetrize caml_sys_rename and caml_unix_rename (details)
  3. Symmetrize caml_sys_chdir and caml_unix_chdir (details)
  4. Symmetrize caml_sys_close and caml_unix_close (details)
  5. Symmetrize caml_sys_system_command and caml_unix_system (details)
  6. Update Changes (details)
Commit 6837826754f012cf57e8c74f882061ceadd8c9f3 by n.oje.bar
Use caml_unix_error instead of errno+caml_uerror
The file was modifiedotherlibs/unix/lockf_win32.c (diff)
The file was modifiedotherlibs/unix/readlink_win32.c (diff)
The file was modifiedotherlibs/unix/link_win32.c (diff)
Commit 072a905c85fbfcc1c6141d420ee4b4c3214790a7 by n.oje.bar
Symmetrize caml_sys_rename and caml_unix_rename

Make the libunix implementation common for Windows and POSIX.

The Windows implementation was using a simple call to MoveFileEx, but
rename_os aliases to caml_win32_rename, which is a more portable and
POSIX-like reimplementation, with fixes from #12320 and before.
The file was removedotherlibs/unix/rename_win32.c
The file was modifiedruntime/sys.c (diff)
The file was removedotherlibs/unix/rename_unix.c
The file was addedotherlibs/unix/rename.c
The file was modifiedotherlibs/unix/Makefile (diff)
The file was modifiedruntime/caml/osdeps.h (diff)
Commit 37ca0324a4478fc639772bc6ec4ebbfda1265e7f by n.oje.bar
Symmetrize caml_sys_chdir and caml_unix_chdir
The file was modifiedruntime/sys.c (diff)
The file was modifiedotherlibs/unix/chdir.c (diff)
Commit ae867fc85ec0a77f29f57c9ef31dc5c05466073b by n.oje.bar
Symmetrize caml_sys_close and caml_unix_close

`caml_sys_close` was missing an exception raise in case of an error,
needed in `Filename.temp_file`.
The file was modifiedruntime/sys.c (diff)
The file was modifiedotherlibs/unix/close_unix.c (diff)
Commit 055b3b16dbf74798829a68c8feab4ade081d40bb by n.oje.bar
Symmetrize caml_sys_system_command and caml_unix_system

- caml_unix_system on Windows would raise ENOENT if the command string
  wasn't C safe. Prefer raising EINVAL as caml_sys_system_command.
- caml_sys_system_command did not call _flushall on Windows as
  caml_unix_system did.
The file was modifiedruntime/sys.c (diff)
The file was modifiedotherlibs/unix/system.c (diff)
The file was modifiedChanges (diff)