Loading...
libkern/c++/OSUnserializeXML.cpp xnu-792.22.5 xnu-517
--- xnu/xnu-792.22.5/libkern/c++/OSUnserializeXML.cpp
+++ xnu/xnu-517/libkern/c++/OSUnserializeXML.cpp
@@ -1,19 +1,16 @@
 /*
  * Copyright (c) 1999-2002 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
+ * @APPLE_LICENSE_HEADER_START@
+ * 
+ * Copyright (c) 1999-2003 Apple Computer, Inc.  All Rights Reserved.
  * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. The rights granted to you under the License
- * may not be used to create, or enable the creation or redistribution of,
- * unlawful or unlicensed copies of an Apple operating system, or to
- * circumvent, violate, or enable the circumvention or violation of, any
- * terms of an Apple operating system software license agreement.
- * 
- * Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
  * 
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
@@ -23,7 +20,7 @@
  * Please see the License for the specific language governing rights and
  * limitations under the License.
  * 
- * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
+ * @APPLE_LICENSE_HEADER_END@
  */
 
 /*
@@ -87,7 +84,7 @@
 
 #define YYSTYPE object_t *
 #define YYPARSE_PARAM	state
-#define YYLEX_PARAM	(parser_state_t *)state
+#define YYLEX_PARAM	state
 
 // this is the internal struct used to hold objects on parser stack
 // it represents objects both before and after they have been created
@@ -153,7 +150,7 @@
 
 #define malloc(s) kern_os_malloc(s)
 #define realloc(a, s) kern_os_realloc(a, s)
-#define free(a) kern_os_free((void *)a)
+#define free(a) kern_os_free(a)
 
 #ifndef YYSTYPE
 #define YYSTYPE int
@@ -941,7 +938,7 @@
 case 17:
 #line 192 "OSUnserializeXML.y"
 { yyval = yyvsp[-1];
-				  yyval->key = (OSString *)yyval->object;
+				  yyval->key = yyval->object;
 				  yyval->object = yyvsp[0]->object;
 				  yyval->next = NULL; 
 				  yyvsp[0]->object = 0;
@@ -1416,8 +1413,9 @@
 {
 	unsigned long long n = 0;
 	int base = 10;
-	bool negate = false;
 	int c = currentChar();
+
+	if (!isDigit (c)) return 0;
 
 	if (c == '0') {
 		c = nextChar();
@@ -1427,16 +1425,9 @@
 		}
 	}
 	if (base == 10) {
-		if (c == '-') {
-			negate = true;
-			c = nextChar();
-		}
 		while(isDigit(c)) {
 			n = (n * base + c - '0');
 			c = nextChar();
-		}
-		if (negate) {
-			n = (unsigned long long)((long long)n * (long long)-1);
 		}
 	} else {
 		while(isHexDigit(c)) {