From a5fbba52e98f8685220ce13d06716cde2ed6a598 Mon Sep 17 00:00:00 2001 From: Ronan Desplanques Date: Mon, 23 Oct 2023 16:02:07 +0200 Subject: ada: Fix Ada.Text_IO.Delete with "encoding=8bits" form Before this patch, on Windows, file with non-ASCII Latin1 names could be created with Ada.Text_IO.Create by passing "encoding=8bits" through the Form parameter and a Latin1-encoded string through the Name parameter, but calling Ada.Text_IO.Delete on them raised an illegitimate exception. This patch fixes this by making the wrappers of the unlink system function aware of the encoding value passed through the Form parameter. It also removes an unnecessary curly-brace block. gcc/ada/ * adaint.c (__gnat_unlink): Add new parameter and fix text conversion on Windows. Remove unnecessary curly braces. * adaint.h (__gnat_unlink): Add new parameter. * libgnat/i-cstrea.ads (unlink): Adapt to __gnat_unlink signature change. * libgnat/i-cstrea.adb (unlink): New Subprogram definition. * libgnat/s-crtl.ads (unlink): Adapt to __gnat_unlink signature change. * libgnat/s-fileio.adb (Delete): Pass encoding argument to unlink. --- gcc/ada/adaint.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/ada/adaint.h') diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h index 987432c..298ea9e 100644 --- a/gcc/ada/adaint.h +++ b/gcc/ada/adaint.h @@ -172,7 +172,7 @@ extern int __gnat_open_new_temp (char *, int); extern int __gnat_mkdir (char *, int); extern int __gnat_stat (char *, GNAT_STRUCT_STAT *); -extern int __gnat_unlink (char *); +extern int __gnat_unlink (char *, int encoding); extern int __gnat_rename (char *, char *); extern int __gnat_chdir (char *); extern int __gnat_rmdir (char *); -- cgit v1.1