X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibrewrite%2Fparse.c;h=1ef1af192280fbb1e88710f3da8bc91f9d6d4e69;hb=c5078085249b5b4ae8f5fbdd18fd9c9c67e1da37;hp=bf4426cebf3e329b54f393dddede7849c21e6b24;hpb=74fa239a201cd2d785fe34bdbaf6804161bdb231;p=openldap
diff --git a/libraries/librewrite/parse.c b/libraries/librewrite/parse.c
index bf4426cebf..1ef1af1922 100644
--- a/libraries/librewrite/parse.c
+++ b/libraries/librewrite/parse.c
@@ -1,29 +1,26 @@
-/******************************************************************************
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software .
*
- * Copyright (C) 2000 Pierangelo Masarati,
+ * Copyright 2000-2004 The OpenLDAP Foundation.
* All rights reserved.
*
- * Permission is granted to anyone to use this software for any purpose
- * on any computer system, and to alter it and redistribute it, subject
- * to the following restrictions:
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
*
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits should appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits should appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- *
- ******************************************************************************/
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * .
+ */
+/* ACKNOWLEDGEMENT:
+ * This work was initially developed by Pierangelo Masarati for
+ * inclusion in OpenLDAP Software.
+ */
#include
+#include
+
#include "rewrite-int.h"
static int
@@ -38,14 +35,14 @@ parse_line(
int in_quoted_field = 0, cnt = 0;
char quote = '\0';
- for ( p = buf; isspace( p[ 0 ] ); p++ );
+ for ( p = buf; isspace( (unsigned char) p[ 0 ] ); p++ );
if ( p[ 0 ] == '#' ) {
return 0;
}
for ( begin = p; p[ 0 ] != '\0'; p++ ) {
- if ( p[ 0 ] == '\\' ) {
+ if ( p[ 0 ] == '\\' && p[ 1 ] != '\0' ) {
p++;
} else if ( p[ 0 ] == '\'' || p[ 0 ] == '\"') {
if ( in_quoted_field && p[ 0 ] == quote ) {
@@ -57,7 +54,7 @@ parse_line(
*argc = cnt;
return 1;
}
- for ( p++; isspace( p[ 0 ] ); p++ );
+ for ( p++; isspace( (unsigned char) p[ 0 ] ); p++ );
begin = p;
p--;
@@ -69,7 +66,7 @@ parse_line(
in_quoted_field = 1 - in_quoted_field;
quote = p[ 0 ];
}
- } else if ( isspace( p[ 0 ] ) && !in_quoted_field ) {
+ } else if ( isspace( (unsigned char) p[ 0 ] ) && !in_quoted_field ) {
p[ 0 ] = '\0';
argv[ cnt ] = begin;
@@ -78,7 +75,7 @@ parse_line(
return 1;
}
- for ( p++; isspace( p[ 0 ] ); p++ );
+ for ( p++; isspace( (unsigned char) p[ 0 ] ); p++ );
begin = p;
p--;
}
@@ -90,7 +87,7 @@ parse_line(
}
int
-read_rewrite(
+rewrite_read(
FILE *fin,
struct rewrite_info *info
)