]> git.wh0rd.org Git - nano.git/commitdiff
forward-ported --disable-wrapping-as-root from nano 1.0.x
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 25 Oct 2002 16:08:53 +0000 (16:08 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Fri, 25 Oct 2002 16:08:53 +0000 (16:08 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1311 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
configure.ac
nano.c
rcfile.c

index cd6acde58e3d3dba0496f4517001c7a8d72d70d7..864e4c348705344473e46f7f789a632d3322cd3f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
 CVS code -
+- General:
+       - Forward-ported Chris' --disable-wrapping-as-root option from
+         1.0.9.  Per Jordi's suggestions, have it override /etc/nanorc
+         but not ~/.nanorc. (DLR)
 
 GNU nano 1.1.12 - 10/24/2002
 - General:
index f23f0825951e8dbda3639445fb09bb2e8365934c..05a9189807ab0fc42bededce6d7dac7be26e33f2 100644 (file)
@@ -98,6 +98,12 @@ AC_ARG_ENABLE(wrapping,
     AC_DEFINE(DISABLE_WRAPPING, 1, [Define this to disable any and all text wrapping.])
  fi])
 
+AC_ARG_ENABLE(wrapping-as-root,
+[  --disable-wrapping-as-root  Disable wrapping of text as root by default],
+ [if test x$enableval != xyes; then
+    AC_DEFINE(DISABLE_ROOTWRAP, 1, [Define this to disable wrapping as root by default.])
+ fi])
+
 AC_ARG_ENABLE(color,
 [  --enable-color          Enable color and syntax highlighting],
 [if test x$enableval = xyes; then
diff --git a/nano.c b/nano.c
index 6fbe7e7ee158702180024ce77fa18b021fe0fc92..35ccacbf413d638ffbdf25476da5575b4ba1795c 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -725,6 +725,9 @@ void version(void)
 #ifdef DISABLE_WRAPPING
     printf(" --disable-wrapping");
 #endif
+#ifdef DISABLE_ROOTWRAP
+    printf(" --disable-wrapping-as-root");
+#endif
 #ifdef ENABLE_COLOR
     printf(" --enable-color");
 #endif
@@ -2998,6 +3001,13 @@ int main(int argc, char *argv[])
     }
        if (!ISSET(NO_RCFILE))
            do_rcfile();
+#else
+#if defined(DISABLE_ROOTWRAP) && !defined(DISABLE_WRAPPING)
+    /* if we don't have rcfile support, we're root, and
+       --disable-wrapping-as-root is used, turn wrapping off */
+    if (geteuid() == 0)
+       SET(NO_WRAP);
+#endif
 #endif /* ENABLE_NANORC */
 
 #ifdef HAVE_GETOPT_LONG
index 6a7fb9773f8f5e9337645f89e6683953f670af6e..96ffa625f5b63244fe870aa8ebe865035fe5d10f 100644 (file)
--- a/rcfile.c
+++ b/rcfile.c
@@ -613,6 +613,12 @@ void do_rcfile(void)
        nanorc = nrealloc(nanorc, strlen(userage->pw_dir) + 9);
        sprintf(nanorc, "%s/.nanorc", userage->pw_dir);
 
+#if defined(DISABLE_ROOTWRAP) && !defined(DISABLE_WRAPPING)
+    /* If we've already read $SYSCONFDIR/nanorc (if it's there), we're
+       root, and --disable-wrapping-as-root is used, turn wrapping off */
+       if (euid == 0)
+           SET(NO_WRAP);
+#endif
        if ((rcstream = fopen(nanorc, "r")) == NULL) {
            /* Don't complain about the file not existing */
            if (errno != ENOENT)