[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Opening a can of worms: a readline gnulib module?
From: |
Simon Josefsson |
Subject: |
Re: Opening a can of worms: a readline gnulib module? |
Date: |
Thu, 11 Aug 2005 15:27:24 +0200 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) |
Simon Josefsson <address@hidden> writes:
> Initial attempt. Tested on one platform with and without the readline
> library inside GNU SASL.
Any objections to this readline module? There were some discussion,
but no real objection from what I could tell. There were no further
discussion after I posted the patch below. Ok to install? It is used
by newly released GNU SASL.
> 2005-07-16 Simon Josefsson <address@hidden>
>
> * readline.m4: New file.
>
> 2005-07-16 Simon Josefsson <address@hidden>
>
> * modules/readline: New file.
>
> 2005-07-16 Simon Josefsson <address@hidden>
>
> * readline.h, readline.c: New files.
>
> Index: lib/readline.h
> ===================================================================
> RCS file: lib/readline.h
> diff -N lib/readline.h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ lib/readline.h 16 Jul 2005 20:29:00 -0000
> @@ -0,0 +1,28 @@
> +/* readline.h --- Simple implementation of readline.
> + Copyright (C) 2005 Free Software Foundation, Inc.
> + Written by Simon Josefsson
> +
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 2, or (at your option)
> + any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program; if not, write to the Free Software Foundation,
> + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
> +
> +#ifndef GL_READLINE_H
> +#define GL_READLINE_H
> +
> +#if HAVE_READLINE_READLINE_H
> +# include <readline/readline.h>
> +#else
> +extern char *readline (const char *prompt);
> +#endif
> +
> +#endif /* GL_READLINE_H */
> Index: lib/readline.c
> ===================================================================
> RCS file: lib/readline.c
> diff -N lib/readline.c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ lib/readline.c 16 Jul 2005 20:29:00 -0000
> @@ -0,0 +1,50 @@
> +/* readline.c --- Simple implementation of readline.
> + Copyright (C) 2005 Free Software Foundation, Inc.
> + Written by Simon Josefsson
> +
> + This program is free software; you can redistribute it and/or modify
> + it under the terms of the GNU General Public License as published by
> + the Free Software Foundation; either version 2, or (at your option)
> + any later version.
> +
> + This program is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + GNU General Public License for more details.
> +
> + You should have received a copy of the GNU General Public License
> + along with this program; if not, write to the Free Software Foundation,
> + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
> +
> +#if HAVE_CONFIG_H
> +# include "config.h"
> +#endif
> +
> +/* This module is intended to be used when the application only need
> + the readline interface. If you need more functions from the
> + readline library, it is recommended to require the readline library
> + (or improve this module) rather than #if-protect part of your
> + application (doing so would add assumptions of this module into
> + your application). The application should use #include
> + "readline.h", that header file will include <readline/readline.h>
> + if the real library is present on the system. */
> +
> +#include <stdio.h>
> +#include <getline.h>
> +
> +/* Get specification. */
> +#include "readline.h"
> +
> +char *
> +readline (const char *prompt)
> +{
> + char *out = NULL;
> + size_t size = 0;
> +
> + printf ("%s", prompt);
> +
> + if (getline (&out, &size, stdin) < 0)
> + return NULL;
> +
> + return out;
> +}
> Index: m4/readline.m4
> ===================================================================
> RCS file: m4/readline.m4
> diff -N m4/readline.m4
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ m4/readline.m4 16 Jul 2005 20:29:00 -0000
> @@ -0,0 +1,22 @@
> +# readline.m4 serial 1
> +dnl Copyright (C) 2005 Free Software Foundation, Inc.
> +dnl This file is free software; the Free Software Foundation
> +dnl gives unlimited permission to copy and/or distribute it,
> +dnl with or without modifications, as long as this notice is preserved.
> +
> +AC_DEFUN([gl_FUNC_READLINE],
> +[
> + AC_LIBSOURCES([readline.c, readline.h])
> +
> + AC_CHECK_HEADERS(readline/readline.h)
> + AC_CHECK_LIB(readline, readline)
> + if test "$ac_cv_lib_readline_readline" = no; then
> + AC_LIBOBJ(readline)
> + gl_PREREQ_READLINE
> + fi
> +])
> +
> +# Prerequisites of lib/readline.c.
> +AC_DEFUN([gl_PREREQ_READLINE], [
> + :
> +])
> Index: modules/readline
> ===================================================================
> RCS file: modules/readline
> diff -N modules/readline
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ modules/readline 16 Jul 2005 20:29:00 -0000
> @@ -0,0 +1,24 @@
> +Description:
> +Simple implementation of readline.
> +
> +Files:
> +lib/readline.h
> +lib/readline.c
> +m4/readline.m4
> +
> +Depends-on:
> +getline
> +
> +configure.ac:
> +gl_FUNC_READLINE
> +
> +Makefile.am:
> +
> +Include:
> +"readline.h"
> +
> +License:
> +GPL
> +
> +Maintainer:
> +all
- Re: Opening a can of worms: a readline gnulib module?,
Simon Josefsson <=
- Re: Opening a can of worms: a readline gnulib module?, Bruno Haible, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Simon Josefsson, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Bruno Haible, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Simon Josefsson, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Bruno Haible, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Simon Josefsson, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Oskar Liljeblad, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Simon Josefsson, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Oskar Liljeblad, 2005/08/11
- Re: Opening a can of worms: a readline gnulib module?, Simon Josefsson, 2005/08/11