#201 Le 09/09/2023, à 07:10
- Pylades
Re : /* Topic des codeurs [9] */
Il y a encore des gens qui utilisent les caractères de contrôle ASCII dans leur sens originel?
Le Rust c'est bon, mangez en!
J’ai fini par un peu mettre mon nej dedans.
On dirait vaguement du C++, mais en bien fait.
En tous cas, ça a tout pour devenir un langage de référence pour les décénies à venir.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#202 Le 16/09/2023, à 20:30
- grim7reaper
Re : /* Topic des codeurs [9] */
On dirait vaguement du C++, mais en bien fait.
Y'a un peu de ça ouais.
Perso j'y retrouvais les bon côtés du C et du Haskell mais sans les mauvais (bon le langage a aussi ses défauts on va pas se mentir)
En tous cas, ça a tout pour devenir un langage de référence pour les décénies à venir.
C'est pas trop mal parti, pas mal de gros acteurs sont en train de s'y mettre à divers degré donc c'est bon signe pour la pérennité.
Hors ligne
#203 Le 14/01/2024, à 23:50
- Pylades
Re : /* Topic des codeurs [9] */
diff --git a/Makefile.in b/Makefile.in
index 0b4df73a..36a63592 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -160,7 +160,7 @@ CCFLAGS = $(ADDON_CFLAGS) $(BASE_CCFLAGS) ${PROFILE_FLAGS} $(CPPFLAGS) $(CFLAGS)
CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
BASE_LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
-LDFLAGS = ${ADDON_LDFLAGS} ${BASE_LDFLAGS} ${PROFILE_FLAGS} ${STATIC_LD}
+LDFLAGS = ${ADDON_LDFLAGS} ${BASE_LDFLAGS} ${PROFILE_FLAGS} ${STATIC_LD} -lidn2
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
ASAN_XCFLAGS = -fsanitize=address -fno-omit-frame-pointer
diff --git a/shell.c b/shell.c
index ebd89651..830dda91 100644
--- a/shell.c
+++ b/shell.c
@@ -37,6 +37,7 @@
#include <stdio.h>
#include <signal.h>
#include <errno.h>
+#include <idn2.h>
#include "filecntl.h"
#if defined (HAVE_PWD_H)
# include <pwd.h>
@@ -1928,6 +1929,7 @@ static void
shell_initialize ()
{
char hostname[256];
+ char *hostname_idn;
int should_be_restricted;
/* Line buffer output for stderr and stdout. */
@@ -1955,7 +1957,15 @@ shell_initialize ()
if (gethostname (hostname, 255) < 0)
current_host_name = "??host??";
else
- current_host_name = savestring (hostname);
+ {
+ if (idn2_to_unicode_8z8z (hostname, &hostname_idn, 0) == IDN2_OK)
+ {
+ current_host_name = savestring (hostname_idn);
+ free (hostname_idn);
+ }
+ else
+ current_host_name = "??host??";
+ }
}
/* Initialize the stuff in current_user that comes from the password
P’tain, les autohells c’est l’enfer ( ), j’y suis allé à la Rache pour éditer le Makefile.
Mais c’est pas grave, j’ai mon bash qui me traduit mon hostname internationalisé, et c’était ça l’objectif.
Et oui, le patch pourrait être plus propre. Mais j’ai pas encore vu comment on coupe les longues lignes dans le style de bash.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#204 Le 14/01/2024, à 23:57
- Pylades
Re : /* Topic des codeurs [9] */
Voilà, c’est plus propre comme ça:
diff --git a/Makefile.in b/Makefile.in
index 0b4df73a..36a63592 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -160,7 +160,7 @@ CCFLAGS = $(ADDON_CFLAGS) $(BASE_CCFLAGS) ${PROFILE_FLAGS} $(CPPFLAGS) $(CFLAGS)
CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
BASE_LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
-LDFLAGS = ${ADDON_LDFLAGS} ${BASE_LDFLAGS} ${PROFILE_FLAGS} ${STATIC_LD}
+LDFLAGS = ${ADDON_LDFLAGS} ${BASE_LDFLAGS} ${PROFILE_FLAGS} ${STATIC_LD} -lidn2
LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
ASAN_XCFLAGS = -fsanitize=address -fno-omit-frame-pointer
diff --git a/shell.c b/shell.c
index ebd89651..b6857c54 100644
--- a/shell.c
+++ b/shell.c
@@ -37,6 +37,7 @@
#include <stdio.h>
#include <signal.h>
#include <errno.h>
+#include <idn2.h>
#include "filecntl.h"
#if defined (HAVE_PWD_H)
# include <pwd.h>
@@ -1928,6 +1929,7 @@ static void
shell_initialize ()
{
char hostname[256];
+ char *hostname_idn;
int should_be_restricted;
/* Line buffer output for stderr and stdout. */
@@ -1952,10 +1954,14 @@ shell_initialize ()
if (current_host_name == 0)
{
/* Initialize current_host_name. */
- if (gethostname (hostname, 255) < 0)
- current_host_name = "??host??";
+ if (gethostname (hostname, 255) == 0 &&
+ idn2_to_unicode_8z8z (hostname, &hostname_idn, 0) == IDN2_OK)
+ {
+ current_host_name = savestring (hostname_idn);
+ free (hostname_idn);
+ }
else
- current_host_name = savestring (hostname);
+ current_host_name = "??host??";
}
/* Initialize the stuff in current_user that comes from the password
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#205 Le 15/01/2024, à 14:14
- Pylades
Re : /* Topic des codeurs [9] */
Bon, plutôt que patcher OpenSSH dans la foulée, on fera comme ça…
function ssh { command ssh $(idn2 --no-tr46 -- "$@"); }
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#206 Le 31/01/2024, à 21:35
- Pylades
Re : /* Topic des codeurs [9] */
Yo dawg, I heard you like diffs, so I did a diff on your diffs…
diff <(git diff) prompt.patch
Et le pire c’est que oui, j’ai vraiment entré cette commande.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#207 Le 25/11/2024, à 23:23
- S.Soufiane
Re : /* Topic des codeurs [9] */
Hors ligne