unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Danny Milosavljevic <dannym@scratchpost.org>
To: Pierre Neidhardt <mail@ambrevar.xyz>
Cc: 30785@debbugs.gnu.org
Subject: bug#30785: Man pages truncated, repeated
Date: Mon, 14 Jan 2019 18:46:00 +0100	[thread overview]
Message-ID: <20190114184600.2ba0df7b@scratchpost.org> (raw)
In-Reply-To: <87va2r89ef.fsf@ambrevar.xyz>

[-- Attachment #1: Type: text/plain, Size: 2255 bytes --]

Hi Pierre,

On Mon, 14 Jan 2019 17:57:12 +0100
Pierre Neidhardt <mail@ambrevar.xyz> wrote:

> > (libs/libgroff/localcharset.c's locale_charset looks overly complicated, WTF?)  
> 
> Oh dear... relocatep.cpp is not much better, here is the offending function:
> 
> --8<---------------cut here---------------start------------->8---
> // Strip the installation prefix and replace it
> // with the current installation prefix; return the relocated path.
> char *relocatep(const char *path)
> {
> #if DEBUG
>   fprintf(stderr, "relocatep: path = %s\n", path);
>   fprintf(stderr, "relocatep: INSTALLPATH = %s\n", INSTALLPATH);
>   fprintf(stderr, "relocatep: INSTALLPATHLEN = %d\n", INSTALLPATHLEN);
> #endif
>   if (!curr_prefix)
>     set_current_prefix();
>   if (strncmp(INSTALLPATH, path, INSTALLPATHLEN))
>     return strsave(path);
>   char *relative_path = (char *)path + INSTALLPATHLEN;
>   size_t relative_path_len = strlen(relative_path);
>   char *relocated_path = new char[curr_prefix_len + relative_path_len + 1];
>   strcpy(relocated_path, curr_prefix);
>   strcat(relocated_path, relative_path);
> #if DEBUG
>   fprintf(stderr, "relocated_path: %s\n", relocated_path);
> #endif /* DEBUG */
>   return relocated_path;
> }
> --8<---------------cut here---------------end--------------->8---
> 
> I don't even get the use case of the function...  From locale_charset, it seems
> that the argument is LIBDIR.

It's used inside get_charset_aliases, which reads the file "charset.alias".
We have only one alias in our file "charset.alias" (in GuixSD), so let's try
ignoring it completely for now.

What happens if you don't mess with LC_ALL but set the environment variable
CHARSETALIASDIR to "/does_not_exist" ?

> Can you see a fix then?

If the avove also works, we can just patch get_charset_aliases to always return
the empty string (or a string literal).

The one alias we do have in "charset.alias" is:

ISO_646.IRV:1983 ASCII

Alternatively, we could patch get_charset_aliases so it always takes our
charset.alias from our libiconv (without get_charset_aliases calling
"relocate").

Still it would be interesting to find the Segmentation fault (that's
not supposed to ever happen).

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2019-01-14 17:47 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-12 21:24 bug#30785: Man pages truncated, repeated Tobias Geerinckx-Rice
2018-03-13 21:34 ` Ludovic Courtès
2018-03-13 22:01   ` Tobias Geerinckx-Rice
2018-03-14 13:22     ` Ludovic Courtès
2018-03-14 13:43 ` Andreas Enge
2018-03-15  0:40 ` Marius Bakke
2018-05-05 21:40   ` Marius Bakke
2018-05-06 13:53     ` Marius Bakke
2018-05-06 22:06       ` Marius Bakke
2018-05-05  1:31 ` Vagrant Cascadian
2018-08-20 10:32 ` Pierre Neidhardt
2019-01-13 16:09 ` Pierre Neidhardt
2019-01-13 16:15   ` Pierre Neidhardt
2019-01-13 17:00     ` Ludovic Courtès
2019-01-13 17:31       ` Pierre Neidhardt
2019-01-13 17:43         ` Pierre Neidhardt
2019-01-13 20:27           ` Ludovic Courtès
2019-01-13 20:37             ` Pierre Neidhardt
2019-01-14  8:36               ` Ludovic Courtès
2019-01-14  8:49                 ` Pierre Neidhardt
2019-01-14 10:19                   ` Pierre Neidhardt
2019-01-14 10:59                     ` Gábor Boskovits
2019-01-14 15:06                       ` Pierre Neidhardt
2019-01-14 16:10                         ` Ludovic Courtès
2019-01-14 16:24                           ` Pierre Neidhardt
2019-01-14 16:42                             ` Danny Milosavljevic
2019-01-14 16:57                               ` Pierre Neidhardt
2019-01-14 17:46                                 ` Danny Milosavljevic [this message]
2019-01-14 17:48                                 ` Danny Milosavljevic
2019-01-14 17:50                                   ` Danny Milosavljevic
2019-01-14 18:19                                     ` Pierre Neidhardt
2019-01-14 20:27                                     ` Ludovic Courtès
2019-01-14 21:42                                       ` Danny Milosavljevic
2019-01-14 21:59                                         ` Pierre Neidhardt
2019-01-14 22:14                                         ` Danny Milosavljevic
2019-01-14 22:39                                           ` Pierre Neidhardt
2019-01-15 12:29                                           ` Ludovic Courtès
2019-01-16 10:01                                             ` Pierre Neidhardt
2019-01-16 10:56                                               ` Danny Milosavljevic
2019-01-16 13:02                                                 ` Pierre Neidhardt
2019-01-16 14:17                                                   ` Danny Milosavljevic
2019-01-16 17:39                                                     ` Pierre Neidhardt
2019-01-16 18:12                                                       ` Efraim Flashner
2019-01-16 18:18                                                         ` Pierre Neidhardt
2019-01-16 19:57                                                           ` Danny Milosavljevic
2019-01-16 22:32                                                             ` Ludovic Courtès
2019-01-16 22:45                                                               ` Danny Milosavljevic
2019-01-17  7:31                                                                 ` Pierre Neidhardt
2019-01-17  8:43                                                                   ` Ludovic Courtès
2019-01-17  9:39                                                                     ` Pierre Neidhardt
2019-01-17  9:42                                                                       ` Pierre Neidhardt
2019-01-17 11:32                                                                         ` Pierre Neidhardt
2019-11-28  0:13                                                                           ` Marius Bakke
2019-01-17  9:10                                                                   ` Danny Milosavljevic
2019-01-17  8:33                                                       ` Ludovic Courtès
2019-01-17  8:41                                                         ` Pierre Neidhardt
2021-04-22 18:53 ` G. Branden Robinson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190114184600.2ba0df7b@scratchpost.org \
    --to=dannym@scratchpost.org \
    --cc=30785@debbugs.gnu.org \
    --cc=mail@ambrevar.xyz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).