Smartcard related updates
[gnupg.git] / common / xreadline.c
index 7e091e9..4ea10d7 100644 (file)
@@ -5,7 +5,7 @@
  *
  * GnuPG is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  *
  * GnuPG 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 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
  * GnuPG is distributed in the hope that it will be useful,
  * (at your option) any later version.
  *
  * GnuPG is distributed in the hope that it will be useful,
@@ -14,9 +14,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * 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.
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <config.h>
  */
 
 #include <config.h>
@@ -35,7 +33,7 @@
    maximum allowed allocation.  
 
    Returns the length of the line. EOF is indicated by a line of
    maximum allowed allocation.  
 
    Returns the length of the line. EOF is indicated by a line of
-   length zero. A truncated line is indicated my setting the value at
+   length zero. A truncated line is indicated by setting the value at
    MAX_LENGTH to 0.  If the returned value is less then 0 not enough
    memory was enable and ERRNO is set accordingly.
 
    MAX_LENGTH to 0.  If the returned value is less then 0 not enough
    memory was enable and ERRNO is set accordingly.
 
@@ -97,8 +95,10 @@ read_line (FILE *fp,
             {
               int save_errno = errno;
               xfree (buffer); 
             {
               int save_errno = errno;
               xfree (buffer); 
-              *length_of_buffer = *max_length = 0;
-              errno = save_errno;
+              *length_of_buffer = 0;
+              if (max_length)
+                *max_length = 0;
+              gpg_err_set_errno (save_errno);
               return -1;
             }
           buffer = *addr_of_buffer;
               return -1;
             }
           buffer = *addr_of_buffer;