Replaced the current inf-parser by a robust state-machine parser. It is heavily based on Alexandre Julliard's setupapi inf-parser.

svn path=/trunk/; revision=4297
This commit is contained in:
Eric Kohl 2003-03-13 17:58:52 +00:00
parent 7e590b2656
commit e4228315fc
3 changed files with 734 additions and 441 deletions

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: infcache.h,v 1.1 2003/03/13 09:51:11 ekohl Exp $
/* $Id: infcache.h,v 1.2 2003/03/13 17:58:52 ekohl Exp $
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS text-mode setup
* FILE: subsys/system/usetup/infcache.h
@ -29,6 +29,12 @@
#define __INFCACHE_H__
#define STATUS_BAD_SECTION_NAME_LINE (0xC0700001)
#define STATUS_SECTION_NAME_TOO_LONG (0xC0700002)
#define STATUS_WRONG_INF_STYLE (0xC0700003)
#define STATUS_NOT_ENOUGH_MEMORY (0xC0700004)
typedef PVOID HINF, *PHINF;
typedef struct _INFCONTEXT

View file

@ -460,8 +460,7 @@ StartPage(PINPUT_RECORD Ir)
}
/* Check 'Signature' string */
// if (_wcsicmp(Value, L"$ReactOS$") != 0)
if (_wcsicmp(Value, L"\"$ReactOS$\"") != 0)
if (_wcsicmp(Value, L"$ReactOS$") != 0)
{
PopupError("Setup found an invalid signature in TXTSETUP.SIF.\n",
"ENTER = Reboot computer");
@ -1148,8 +1147,7 @@ PrepareCopyPage(PINPUT_RECORD Ir)
if (!InfGetData (&DirContext, NULL, &KeyValue))
break;
// if (KeyValue[0] == L'\\' && KeyValue[1] != 0)
if (wcscmp (KeyValue, L"\"\\\"") == 0)
if (KeyValue[0] == L'\\' && KeyValue[1] != 0)
{
DPRINT("Absolute Path: '%S'\n", KeyValue);