From 76f9485b0259ddd81374d8a4fe2b9d4ded57348d Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Mon, 9 Jan 2006 03:23:29 +0000
Subject: [PATCH] in ngetdelim(), do sanity checks manually again instead of in
 an assert, and set errno to EINVAL as well as return -1 if they fail; this
 matches the manual page

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3262 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   | 5 +++++
 src/utils.c | 7 +++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f2ed319d..e30dd7a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,11 @@ CVS code -
 - chars.c:
   mbstrchr()
 	- Make parameter c const. (DLR)
+- utils.c:
+  ngetdelim()
+	- Do sanity checks manually again instead of in an assert, and
+	  set errno to EINVAL as well as return -1 if they fail.  This
+	  matches the manual page. (DLR)
 - winio.c:
   edit_scroll()
 	- Redraw the lines before and after the scrolled region even if
diff --git a/src/utils.c b/src/utils.c
index f8f4d8a7..49bcbd27 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -3,7 +3,7 @@
  *   utils.c                                                              *
  *                                                                        *
  *   Copyright (C) 1999-2004 Chris Allegretta                             *
- *   Copyright (C) 2005 David Lawrence Ramsey                             *
+ *   Copyright (C) 2005-2006 David Lawrence Ramsey                        *
  *   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)  *
@@ -197,7 +197,10 @@ ssize_t ngetdelim(char **lineptr, size_t *n, int delim, FILE *stream)
     int c;
 
     /* Sanity checks. */
-    assert(lineptr != NULL && n != NULL && stream != NULL);
+    if (lineptr == NULL || n == NULL || stream == NULL) {
+	errno = EINVAL;
+	return -1;
+    }
 
     /* Allocate the line the first time. */
     if (*lineptr == NULL) {
-- 
GitLab