ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
January 2006
----- 2025 -----
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
23 participants
586 discussions
Start a n
N
ew thread
[gvg] 20623: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Mike McCormack <mike(a)codeweavers.com> - riched20: Add newlines to ERR macro output. Modified: trunk/reactos/lib/riched20/reader.c _____ Modified: trunk/reactos/lib/riched20/reader.c --- trunk/reactos/lib/riched20/reader.c 2006-01-06 20:20:32 UTC (rev 20622) +++ trunk/reactos/lib/riched20/reader.c 2006-01-06 20:21:22 UTC (rev 20623) @@ -219,7 +219,7 @@ info->rtfTextBuf = RTFAlloc (rtfBufSiz); info->pushedTextBuf = RTFAlloc (rtfBufSiz); if (info->rtfTextBuf == NULL || info->pushedTextBuf == NULL) - ERR ("Cannot allocate text buffers."); + ERR ("Cannot allocate text buffers.\n"); info->rtfTextBuf[0] = info->pushedTextBuf[0] = '\0'; } @@ -283,7 +283,7 @@ info->inputName = RTFStrSave (name); if (info->inputName == NULL) - ERR ("RTFSetInputName: out of memory"); + ERR ("RTFSetInputName: out of memory\n"); } @@ -299,7 +299,7 @@ info->outputName = RTFStrSave (name); if (info->outputName == NULL) - ERR ("RTFSetOutputName: out of memory"); + ERR ("RTFSetOutputName: out of memory\n"); } @@ -388,7 +388,7 @@ if (info->rtfClass < 0 || info->rtfClass >= rtfMaxClass) /* watchdog */ { - ERR( "Unknown class %d: %s (reader malfunction)", + ERR( "Unknown class %d: %s (reader malfunction)\n", info->rtfClass, info->rtfTextBuf); } if (RTFCheckCM (info, rtfControl, rtfDestination)) @@ -490,9 +490,9 @@ TRACE("\n"); if (info->pushedClass >= 0) /* there's already an ungotten token */ - ERR ("cannot unget two tokens"); + ERR ("cannot unget two tokens\n"); if (info->rtfClass < 0) - ERR ("no token to unget"); + ERR ("no token to unget\n"); info->pushedClass = info->rtfClass; info->pushedMajor = info->rtfMajor; info->pushedMinor = info->rtfMinor; @@ -893,19 +893,19 @@ else if (RTFCheckCM (info, rtfGroup, rtfBeginGroup)) old = 0; /* brace */ else /* can't tell! */ - ERR ( "%s: Cannot determine format", fn); + ERR ( "%s: Cannot determine format\n", fn); } if (old == 0) /* need to find "{" here */ { if (!RTFCheckCM (info, rtfGroup, rtfBeginGroup)) - ERR ( "%s: missing \"{\"", fn); + ERR ( "%s: missing \"{\"\n", fn); RTFGetToken (info); /* yes, skip to next token */ if (info->rtfClass == rtfEOF) break; } fp = New (RTFFont); if (fp == NULL) - ERR ( "%s: cannot allocate font entry", fn); + ERR ( "%s: cannot allocate font entry\n", fn); fp->rtfNextFont = info->fontList; info->fontList = fp; @@ -991,7 +991,7 @@ *bp = '\0'; fp->rtfFName = RTFStrSave (buf); if (fp->rtfFName == NULL) - ERR ( "%s: cannot allocate font name", fn); + ERR ( "%s: cannot allocate font name\n", fn); /* already have next token; don't read one */ /* at bottom of loop */ continue; @@ -1012,7 +1012,7 @@ { RTFGetToken (info); if (!RTFCheckCM (info, rtfGroup, rtfEndGroup)) - ERR ( "%s: missing \"}\"", fn); + ERR ( "%s: missing \"}\"\n", fn); if (info->rtfClass == rtfEOF) break; } @@ -1026,7 +1026,7 @@ } } if (fp->rtfFNum == -1) - ERR( "%s: missing font number", fn); + ERR( "%s: missing font number\n", fn); /* * Could check other pieces of structure here, too, I suppose. */ @@ -1068,7 +1068,7 @@ break; cp = New (RTFColor); if (cp == NULL) - ERR ( "%s: cannot allocate color entry", fn); + ERR ( "%s: cannot allocate color entry\n", fn); cp->rtfCNum = cnum++; cp->rtfCRed = cp->rtfCGreen = cp->rtfCBlue = -1; cp->rtfNextColor = info->colorList; @@ -1086,7 +1086,7 @@ if (info->rtfClass == rtfEOF) break; if (!RTFCheckCM (info, rtfText, ';')) - ERR ("%s: malformed entry", fn); + ERR ("%s: malformed entry\n", fn); } RTFRouteToken (info); /* feed "}" back to router */ } @@ -1116,7 +1116,7 @@ break; sp = New (RTFStyle); if (sp == NULL) - ERR ( "%s: cannot allocate stylesheet entry", fn); + ERR ( "%s: cannot allocate stylesheet entry\n", fn); sp->rtfSName = NULL; sp->rtfSNum = -1; sp->rtfSType = rtfParStyle; @@ -1128,7 +1128,7 @@ sp->rtfExpanding = 0; info->styleList = sp; if (!RTFCheckCM (info, rtfGroup, rtfBeginGroup)) - ERR ( "%s: missing \"{\"", fn); + ERR ( "%s: missing \"{\"\n", fn); real_style = TRUE; for (;;) { @@ -1140,7 +1140,7 @@ { if (RTFCheckMM (info, rtfSpecialChar, rtfOptDest)) { RTFGetToken(info); - ERR( "%s: skipping optional destination", fn); + ERR( "%s: skipping optional destination\n", fn); RTFSkipGroup(info); info->rtfClass = rtfGroup; info->rtfMajor = rtfEndGroup; @@ -1182,14 +1182,14 @@ } sep = New (RTFStyleElt); if (sep == NULL) - ERR ( "%s: cannot allocate style element", fn); + ERR ( "%s: cannot allocate style element\n", fn); sep->rtfSEClass = info->rtfClass; sep->rtfSEMajor = info->rtfMajor; sep->rtfSEMinor = info->rtfMinor; sep->rtfSEParam = info->rtfParam; sep->rtfSEText = RTFStrSave (info->rtfTextBuf); if (sep->rtfSEText == NULL) - ERR ( "%s: cannot allocate style element text", fn); + ERR ( "%s: cannot allocate style element text\n", fn); if (sepLast == NULL) sp->rtfSSEList = sep; /* first element */ else /* add to end */ @@ -1203,7 +1203,7 @@ * This passes over "{\*\keycode ... }, among * other things. A temporary (perhaps) hack. */ - ERR( "%s: skipping begin", fn); + ERR( "%s: skipping begin\n", fn); RTFSkipGroup (info); continue; } @@ -1224,7 +1224,7 @@ *bp = '\0'; sp->rtfSName = RTFStrSave (buf); if (sp->rtfSName == NULL) - ERR ( "%s: cannot allocate style name", fn); + ERR ( "%s: cannot allocate style name\n", fn); } else /* unrecognized */ { @@ -1236,7 +1236,7 @@ if (real_style) { RTFGetToken (info); if (!RTFCheckCM (info, rtfGroup, rtfEndGroup)) - ERR ( "%s: missing \"}\"", fn); + ERR ( "%s: missing \"}\"\n", fn); /* * Check over the style structure. A name is a must. * If no style number was specified, check whether it's the @@ -1248,12 +1248,12 @@ * Some German RTF writers use "Standard" instead of "Normal". */ if (sp->rtfSName == NULL) - ERR ( "%s: missing style name", fn); + ERR ( "%s: missing style name\n", fn); if (sp->rtfSNum < 0) { if (strncmp (buf, "Normal", 6) != 0 && strncmp (buf, "Standard", 8) != 0) - ERR ( "%s: missing style number", fn); + ERR ( "%s: missing style number\n", fn); sp->rtfSNum = rtfNormalStyleNum; } if (sp->rtfSNextPar == -1) /* if \snext not given, */ @@ -1359,7 +1359,7 @@ if (s == NULL) return; if (s->rtfExpanding != 0) - ERR ("Style expansion loop, style %d", n); + ERR ("Style expansion loop, style %d\n", n); s->rtfExpanding = 1; /* set expansion flag for loop detection */ /* * Expand "based-on" style (unless it's the same as the current
19 years
1
0
0
0
[gvg] 20622: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Robert Shearman <rob(a)codeweavers.com> - oleaut32: Convert some tabs to spaces and some other formatting changes. - oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames. Better tracing. - ole: Improve typelib traces. Move the debug channel check from dump_TLBFuncDesc[One] to its callers for more flexibility in which channel controls the output. - oleaut: Small re-organisation of ITypeInfo::Invoke. Only output the one function in the trace for ITypeInfo::Invoke. Process the return value on output in ITypeInfo::Invoke, but only copy it to pVarResult if pVarResult is not NULL. Mike McCormack <mike(a)codeweavers.com> - oleaut32: Allow _invoke to handle up to 17 parameters. Modified: trunk/reactos/lib/oleaut32/typelib.c _____ Modified: trunk/reactos/lib/oleaut32/typelib.c --- trunk/reactos/lib/oleaut32/typelib.c 2006-01-06 20:19:21 UTC (rev 20621) +++ trunk/reactos/lib/oleaut32/typelib.c 2006-01-06 20:20:32 UTC (rev 20622) @@ -1145,8 +1145,6 @@ static void dump_TLBFuncDescOne(const TLBFuncDesc * pfd) { int i; - if (!TRACE_ON(typelib)) - return; MESSAGE("%s(%u)\n", debugstr_w(pfd->Name), pfd->funcdesc.cParams); for (i=0;i<pfd->funcdesc.cParams;i++) MESSAGE("\tparm%d: %s\n",i,debugstr_w(pfd->pParamDesc[i].Name)); @@ -1282,14 +1280,16 @@ static void dump_TypeInfo(const ITypeInfoImpl * pty) { TRACE("%p ref=%lu\n", pty, pty->ref); + TRACE("%s %s\n", debugstr_w(pty->Name), debugstr_w(pty->DocString)); TRACE("attr:%s\n", debugstr_guid(&(pty->TypeAttr.guid))); TRACE("kind:%s\n", typekind_desc[pty->TypeAttr.typekind]); TRACE("fct:%u var:%u impl:%u\n", pty->TypeAttr.cFuncs, pty->TypeAttr.cVars, pty->TypeAttr.cImplTypes); + TRACE("wTypeFlags: 0x%04x\n", pty->TypeAttr.wTypeFlags); TRACE("parent tlb:%p index in TLB:%u\n",pty->pTypeLib, pty->index); - TRACE("%s %s\n", debugstr_w(pty->Name), debugstr_w(pty->DocString)); if (pty->TypeAttr.typekind == TKIND_MODULE) TRACE("dllname:%s\n", debugstr_w(pty->DllName)); - dump_TLBFuncDesc(pty->funclist); + if (TRACE_ON(ole)) + dump_TLBFuncDesc(pty->funclist); dump_TLBVarDesc(pty->varlist); dump_TLBImplType(pty->impltypelist); } @@ -2968,7 +2968,8 @@ if(pFunc->next == 0xffff) break; } pTI->TypeAttr.cFuncs = num; - dump_TLBFuncDesc(pTI->funclist); + if (TRACE_ON(typelib)) + dump_TLBFuncDesc(pTI->funclist); return (SLTG_TypeInfoTail*)(pFirstItem + pMemHeader->cbExtra); } @@ -3613,7 +3614,11 @@ TRACE("(%p)\n\tguid:\t%s)\n",This,debugstr_guid(guid)); - if (!pTypeInfo) return TYPE_E_ELEMENTNOTFOUND; + if (!pTypeInfo) + { + WARN("-- element not found\n"); + return TYPE_E_ELEMENTNOTFOUND; + } /* search linked list for guid */ while( !IsEqualIID(guid,&pTypeInfo->TypeAttr.guid) ) @@ -3623,7 +3628,7 @@ if (!pTypeInfo) { /* end of list reached */ - TRACE("-- element not found\n"); + WARN("-- element not found\n"); return TYPE_E_ELEMENTNOTFOUND; } } @@ -4770,11 +4775,17 @@ TLBFuncDesc * pFDesc; TLBVarDesc * pVDesc; HRESULT ret=S_OK; + int i; TRACE("(%p) Name %s cNames %d\n", This, debugstr_w(*rgszNames), cNames); + + /* init out parameters in case of failure */ + for (i = 0; i < cNames; i++) + pMemId[i] = MEMBERID_NIL; + for(pFDesc=This->funclist; pFDesc; pFDesc=pFDesc->next) { - int i, j; + int j; if(!lstrcmpiW(*rgszNames, pFDesc->Name)) { if(cNames) *pMemId=pFDesc->funcdesc.memid; for(i=1; i < cNames; i++){ @@ -4786,6 +4797,7 @@ else ret=DISP_E_UNKNOWNNAME; }; + TRACE("-- 0x%08lx\n", ret); return ret; } } @@ -4878,6 +4890,15 @@ case 14: res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],arg s[8],args[9],args[10],args[11],args[12],args[13]); break; + case 15: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],arg s[8],args[9],args[10],args[11],args[12],args[13],args[14]); + break; + case 16: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],arg s[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15]); + break; + case 17: + res = func(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],arg s[8],args[9],args[10],args[11],args[12],args[13],args[14],args[15],args[ 16]); + break; default: FIXME("unsupported number of arguments %d in stdcall\n",nrargs); res = -1; @@ -5308,47 +5329,50 @@ if (TRACE_ON(ole)) { TRACE("invoking:\n"); - dump_TLBFuncDesc(pFuncInfo); + dump_TLBFuncDescOne(pFuncInfo); } switch (func_desc->funckind) { case FUNC_PUREVIRTUAL: case FUNC_VIRTUAL: { - DWORD res; - int numargs, numargs2, argspos, args2pos; - DWORD *args , *args2; + DWORD res; + int numargs, numargs2, argspos, args2pos; + DWORD *args , *args2; VARIANT *rgvarg = HeapAlloc(GetProcessHeap(), 0, sizeof(VARIANT) * func_desc->cParams); memcpy(rgvarg,pDispParams->rgvarg,sizeof(VARIANT)*pDispParams->cArgs); - hres = S_OK; - numargs = 1; /* sizeof(thisptr) */ - numargs2 = 0; - for (i = 0; i < func_desc->cParams; i++) { + hres = S_OK; + numargs = 1; /* sizeof(thisptr) */ + numargs2 = 0; + for (i = 0; i < func_desc->cParams; i++) + { TYPEDESC *tdesc = &func_desc->lprgelemdescParam[i].tdesc; - numargs += _argsize(tdesc->vt); - if (i>=pDispParams->cArgs) { /* arguments to return */ - if (tdesc->vt == VT_PTR) { - numargs2 += _argsize(tdesc->u.lptdesc->vt); - } else { - FIXME("The variant type here should have been VT_PTR, not vt %d\n", tdesc->vt); - numargs2 += _argsize(tdesc->vt); - } - } - } + numargs += _argsize(tdesc->vt); + if (i>=pDispParams->cArgs) { /* arguments to return */ + if (tdesc->vt == VT_PTR) { + numargs2 += _argsize(tdesc->u.lptdesc->vt); + } else { + FIXME("The variant type here should have been VT_PTR, not vt %d\n", tdesc->vt); + numargs2 += _argsize(tdesc->vt); + } + } + } - args = HeapAlloc(GetProcessHeap(),0,sizeof(DWORD)*numargs); - args2 = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(DWORD)*numargs2); + args = HeapAlloc(GetProcessHeap(),0,sizeof(DWORD)*numargs); + args2 = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(DWORD)*numargs2); - args[0] = (DWORD)pIUnk; - argspos = 1; args2pos = 0; - for (i = 0; i < func_desc->cParams; i++) { - ELEMDESC *elemdesc = &(func_desc->lprgelemdescParam[i]); - TYPEDESC *tdesc = &(elemdesc->tdesc); - USHORT paramFlags = elemdesc->u.paramdesc.wParamFlags; - int arglen = _argsize(tdesc->vt); + args[0] = (DWORD)pIUnk; + argspos = 1; args2pos = 0; + for (i = 0; i < func_desc->cParams; i++) + { + ELEMDESC *elemdesc = &(func_desc->lprgelemdescParam[i]); + TYPEDESC *tdesc = &(elemdesc->tdesc); + USHORT paramFlags = elemdesc->u.paramdesc.wParamFlags; + int arglen = _argsize(tdesc->vt); - if (i<pDispParams->cArgs) { + if (i<pDispParams->cArgs) + { VARIANT *arg = &rgvarg[pDispParams->cArgs-i-1]; if (paramFlags & PARAMFLAG_FOPT) { @@ -5369,7 +5393,9 @@ hres = _copy_arg(iface, tdesc, &args[argspos], arg, tdesc->vt); if (FAILED(hres)) goto func_fail; argspos += arglen; - } else if (paramFlags & PARAMFLAG_FOPT) { + } + else if (paramFlags & PARAMFLAG_FOPT) + { VARIANT *arg = &rgvarg[i]; if (i < func_desc->cParams - func_desc->cParamsOpt) @@ -5383,79 +5409,87 @@ hres = _copy_arg(iface, tdesc, &args[argspos], arg, tdesc->vt); if (FAILED(hres)) goto func_fail; argspos += arglen; - } else { - if (tdesc->vt == VT_PTR) - arglen = _argsize(tdesc->u.lptdesc->vt); - else - FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt); + } + else + { + if (tdesc->vt == VT_PTR) + arglen = _argsize(tdesc->u.lptdesc->vt); + else + FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt); - /* Supply pointers for the rest, so propertyget works*/ - args[argspos] = (DWORD)&args2[args2pos]; + /* Supply pointers for the rest, so propertyget works*/ + args[argspos] = (DWORD)&args2[args2pos]; - /* If pointer to variant, pass reference it. */ - if ((tdesc->vt == VT_PTR) && - (tdesc->u.lptdesc->vt == VT_VARIANT) && - pVarResult + /* If pointer to variant, pass reference it. */ + if ((tdesc->vt == VT_PTR) && + (tdesc->u.lptdesc->vt == VT_VARIANT) && + pVarResult ) args[argspos]= (DWORD)pVarResult; - argspos += 1; - args2pos += arglen; - } - } - if (func_desc->cParamsOpt < 0) - FIXME("Does not support optional parameters (%d)\n", func_desc->cParamsOpt); + argspos += 1; + args2pos += arglen; + } + } + if (func_desc->cParamsOpt < 0) + FIXME("Does not support optional parameters (%d)\n", func_desc->cParamsOpt); - res = _invoke((*(FARPROC**)pIUnk)[func_desc->oVft/4], - func_desc->callconv, - numargs, - args - ); + res = _invoke((*(FARPROC**)pIUnk)[func_desc->oVft/4], + func_desc->callconv, + numargs, + args + ); - if (pVarResult) { - for (i = 0; i < func_desc->cParams; i++) { - USHORT wParamFlags = func_desc->lprgelemdescParam[i].u.paramdesc.wParamFlags; - if (wParamFlags & PARAMFLAG_FRETVAL) { - ELEMDESC *elemdesc = &func_desc->lprgelemdescParam[i]; - TYPEDESC *tdesc = &elemdesc->tdesc; - VARIANTARG varresult; - V_VT(&varresult) = 0; - hres = typedescvt_to_variantvt((ITypeInfo *)iface, tdesc, &V_VT(&varresult)); - if (hres) - break; - /* FIXME: this is really messy - we should keep the - * args in VARIANTARGs rather than a DWORD array */ - memcpy(&V_UI4(&varresult), &args[i+1], sizeof(DWORD)); - if (TRACE_ON(ole)) - { - TRACE("varresult: "); - dump_Variant(&varresult); - } - hres = VariantCopyInd(pVarResult, &varresult); - /* free data stored in varresult. Note that - * VariantClear doesn't do what we want because we are - * working with byref types. */ - /* FIXME: clear safearrays, bstrs, records and - * variants here too */ - if ((V_VT(&varresult) == (VT_UNKNOWN | VT_BYREF)) || - (V_VT(&varresult) == (VT_DISPATCH | VT_BYREF))) - { - if(*V_UNKNOWNREF(&varresult)) - IUnknown_Release(*V_UNKNOWNREF(&varresult)); - } + for (i = 0; i < func_desc->cParams; i++) + { + USHORT wParamFlags = func_desc->lprgelemdescParam[i].u.paramdesc.wParamFlags; + if (wParamFlags & PARAMFLAG_FRETVAL) + { + ELEMDESC *elemdesc = &func_desc->lprgelemdescParam[i]; + TYPEDESC *tdesc = &elemdesc->tdesc; + VARIANTARG varresult; + V_VT(&varresult) = 0; + hres = typedescvt_to_variantvt((ITypeInfo *)iface, tdesc, &V_VT(&varresult)); + if (hres) break; - } - } - } + /* FIXME: this is really messy - we should keep the + * args in VARIANTARGs rather than a DWORD array */ + memcpy(&V_UI4(&varresult), &args[i+1], sizeof(DWORD)); + if (TRACE_ON(ole)) + { + TRACE("varresult: "); + dump_Variant(&varresult); + } - if ((func_desc->elemdescFunc.tdesc.vt == VT_HRESULT) && FAILED(res)) { - WARN("invoked function failed with error 0x%08lx\n", res); - hres = DISP_E_EXCEPTION; - if (pExcepInfo) pExcepInfo->scode = res; - } + if (pVarResult) + /* deref return value */ + hres = VariantCopyInd(pVarResult, &varresult); + + /* free data stored in varresult. Note that + * VariantClear doesn't do what we want because we are + * working with byref types. */ + /* FIXME: clear safearrays, bstrs, records and + * variants here too */ + if ((V_VT(&varresult) == (VT_UNKNOWN | VT_BYREF)) || + (V_VT(&varresult) == (VT_DISPATCH | VT_BYREF))) + { + if(*V_UNKNOWNREF(&varresult)) + IUnknown_Release(*V_UNKNOWNREF(&varresult)); + } + break; + } + } + + if ((func_desc->elemdescFunc.tdesc.vt == VT_HRESULT) && FAILED(res)) + { + WARN("invoked function failed with error 0x%08lx\n", res); + hres = DISP_E_EXCEPTION; + if (pExcepInfo) pExcepInfo->scode = res; + } + func_fail: HeapFree(GetProcessHeap(), 0, rgvarg); - HeapFree(GetProcessHeap(),0,args2); - HeapFree(GetProcessHeap(),0,args); + HeapFree(GetProcessHeap(),0,args2); + HeapFree(GetProcessHeap(),0,args); break; } case FUNC_DISPATCH: { @@ -5593,7 +5627,8 @@ for(pFDesc=This->funclist; pFDesc; pFDesc=pFDesc->next) if(pFDesc->funcdesc.memid==memid){ dump_TypeInfo(This); - dump_TLBFuncDescOne(pFDesc); + if (TRACE_ON(ole)) + dump_TLBFuncDescOne(pFDesc); if (pBstrDllName) *pBstrDllName = SysAllocString(This->DllName);
19 years
1
0
0
0
[gvg] 20621: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Robert Shearman <rob(a)codeweavers.com> - ole: Fix mis-handling of return value in StgStreamImpl_Read. BlockChainStream_ReadAt returns a BOOL, not an HRESULT so change StgStreamImpl_Read to handle this, by returning STG_E_READFAULT on failure. - ole: Check the return value of IStream_SetSize in IStream_Read. Check the return value of IStream_SetSize in IStream_Read, since otherwise execution could continue on and cause heap corruption. Modified: trunk/reactos/lib/ole32/hglobalstream.c Modified: trunk/reactos/lib/ole32/stg_stream.c _____ Modified: trunk/reactos/lib/ole32/hglobalstream.c --- trunk/reactos/lib/ole32/hglobalstream.c 2006-01-06 20:14:15 UTC (rev 20620) +++ trunk/reactos/lib/ole32/hglobalstream.c 2006-01-06 20:19:21 UTC (rev 20621) @@ -313,7 +313,12 @@ if (newSize.u.LowPart > This->streamSize.u.LowPart) { /* grow stream */ - IStream_SetSize(iface, newSize); + HRESULT hr = IStream_SetSize(iface, newSize); + if (FAILED(hr)) + { + ERR("IStream_SetSize failed with error 0x%08lx\n", hr); + return hr; + } } /* _____ Modified: trunk/reactos/lib/ole32/stg_stream.c --- trunk/reactos/lib/ole32/stg_stream.c 2006-01-06 20:14:15 UTC (rev 20620) +++ trunk/reactos/lib/ole32/stg_stream.c 2006-01-06 20:19:21 UTC (rev 20621) @@ -249,7 +249,7 @@ ULONG bytesReadBuffer; ULONG bytesToReadFromBuffer; - HRESULT res = S_FALSE; + HRESULT res; TRACE("(%p, %p, %ld, %p)\n", iface, pv, cb, pcbRead); @@ -282,11 +282,15 @@ } else if (This->bigBlockChain!=0) { - res = BlockChainStream_ReadAt(This->bigBlockChain, - This->currentPosition, - bytesToReadFromBuffer, - pv, - pcbRead); + BOOL success = BlockChainStream_ReadAt(This->bigBlockChain, + This->currentPosition, + bytesToReadFromBuffer, + pv, + pcbRead); + if (success) + res = S_OK; + else + res = STG_E_READFAULT; } else {
19 years
1
0
0
0
[gvg] 20620: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Francois Gouget <fgouget(a)free.fr> - Small documentation tweaks to avoid winapi_check warnings. Mike McCormack <mike(a)codeweavers.com> - msi: Change some FIXME messages to comments. - msi: Add stub actions for CCPSearch and RMCCPSearch. - msi: Fixes for the MaskedEdit control. Allow MaskedEdit masks that aren't enclosed with <>. Allow the MaskedEdit's edit controls to scroll a bit in case things don't line up. - msi: Subclass the Richedit control. Send a "DoAction" control event when the user scrolls the text. - msi: Implement the Reset control event. - MSI: Improve the MsiGetMode stub a little. - msi: Add a stub for MsiGetLastErrorRecord. - msi: Define the property "Intel" if we're running on an Intel processor. - msi: Apply any MSI transforms specified by the TRANSFORMS property. Marcus Meissner <marcus(a)jet.franken.de> - msi: Report the commandline that failed to start in ERR()s. Modified: trunk/reactos/lib/msi/action.c Modified: trunk/reactos/lib/msi/custom.c Modified: trunk/reactos/lib/msi/dialog.c Modified: trunk/reactos/lib/msi/events.c Modified: trunk/reactos/lib/msi/install.c Modified: trunk/reactos/lib/msi/msi.c Modified: trunk/reactos/lib/msi/msi.spec Modified: trunk/reactos/lib/msi/msipriv.h Modified: trunk/reactos/lib/msi/msiquery.c Modified: trunk/reactos/lib/msi/package.c _____ Modified: trunk/reactos/lib/msi/action.c --- trunk/reactos/lib/msi/action.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/action.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -569,6 +569,30 @@ return r; } +static UINT msi_apply_transforms( MSIPACKAGE *package ) +{ + static const WCHAR szTransforms[] = { + 'T','R','A','N','S','F','O','R','M','S',0 }; + LPWSTR xform_list, *xforms; + UINT i, r = ERROR_SUCCESS; + + xform_list = msi_dup_property( package, szTransforms ); + xforms = msi_split_string( xform_list, ';' ); + + for( i=0; xforms && xforms[i] && r == ERROR_SUCCESS; i++ ) + { + if (xforms[i][0] == ':') + r = msi_apply_substorage_transform( package, package->db, &xforms[i][1] ); + else + r = MSI_DatabaseApplyTransformW( package->db, xforms[i], 0 ); + } + + msi_free( xforms ); + msi_free( xform_list ); + + return r; +} + /**************************************************** * TOP level entry points *****************************************************/ @@ -618,6 +642,7 @@ msi_parse_command_line( package, szCommandLine ); + msi_apply_transforms( package ); msi_apply_patches( package ); if ( msi_get_property_int(package, szUILevel, 0) >= INSTALLUILEVEL_REDUCED ) @@ -3096,7 +3121,7 @@ } msi_free(buffer); - FIXME("Need to write more keys to the user registry\n"); + /* FIXME: Need to write more keys to the user registry */ hDb= alloc_msihandle( &package->db->hdr ); rc = MsiGetSummaryInformationW(hDb, NULL, 0, &hSumInfo); @@ -3540,7 +3565,7 @@ return rc; /* dump all the info i can grab */ - FIXME("Flesh out more information\n"); + /* FIXME: Flesh out more information */ msi_write_uninstall_property_vals( package, hkey ); @@ -3554,7 +3579,7 @@ RegSetValueExW(hkey,szUninstallString,0,REG_EXPAND_SZ,(LPBYTE)buffer,siz e); msi_free(buffer); - FIXME("Write real Estimated Size when we have it\n"); + /* FIXME: Write real Estimated Size when we have it */ msi_reg_set_val_dword( hkey, szEstimatedSize, 0 ); GetLocalTime(&systime); @@ -4210,11 +4235,23 @@ return msi_unimplemented_action_stub( package, "UnregisterFonts", table ); } +static UINT ACTION_CCPSearch( MSIPACKAGE *package ) +{ + static const WCHAR table[] = { 'C','C','P','S','e','a','r','c','h',0 }; + return msi_unimplemented_action_stub( package, "CCPSearch", table ); +} + +static UINT ACTION_RMCCPSearch( MSIPACKAGE *package ) +{ + static const WCHAR table[] = { 'C','C','P','S','e','a','r','c','h',0 }; + return msi_unimplemented_action_stub( package, "RMCCPSearch", table ); +} + static struct _actions StandardActions[] = { { szAllocateRegistrySpace, ACTION_AllocateRegistrySpace }, { szAppSearch, ACTION_AppSearch }, { szBindImage, ACTION_BindImage }, - { szCCPSearch, NULL}, + { szCCPSearch, ACTION_CCPSearch}, { szCostFinalize, ACTION_CostFinalize }, { szCostInitialize, ACTION_CostInitialize }, { szCreateFolders, ACTION_CreateFolders }, @@ -4266,7 +4303,7 @@ { szRemoveRegistryValues, NULL}, { szRemoveShortcuts, NULL}, { szResolveSource, ACTION_ResolveSource}, - { szRMCCPSearch, NULL}, + { szRMCCPSearch, ACTION_RMCCPSearch}, { szScheduleReboot, NULL}, { szSelfRegModules, ACTION_SelfRegModules }, { szSelfUnregModules, ACTION_SelfUnregModules }, _____ Modified: trunk/reactos/lib/msi/custom.c --- trunk/reactos/lib/msi/custom.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/custom.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -548,13 +548,14 @@ rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL, c_collen, &si, &info); - msi_free(cmd); if ( !rc ) { - ERR("Unable to execute command\n"); + ERR("Unable to execute command %s\n", debugstr_w(cmd)); + msi_free(cmd); return ERROR_SUCCESS; } + msi_free(cmd); prc = process_handle(package, type, info.hThread, info.hProcess, action, &finished); @@ -609,13 +610,14 @@ rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL, c_collen, &si, &info); - msi_free(cmd); if ( !rc ) { - ERR("Unable to execute command\n"); + ERR("Unable to execute command %s\n", debugstr_w(cmd)); + msi_free(cmd); return ERROR_SUCCESS; } + msi_free(cmd); prc = process_handle(package, type, info.hThread, info.hProcess, action, NULL); @@ -694,13 +696,14 @@ rc = CreateProcessW(NULL, cmd, NULL, NULL, FALSE, 0, NULL, c_collen, &si, &info); - msi_free(cmd); if ( !rc ) { - ERR("Unable to execute command\n"); + ERR("Unable to execute command %s\n", debugstr_w(cmd)); + msi_free(cmd); return ERROR_SUCCESS; } + msi_free(cmd); return process_handle(package, type, info.hThread, info.hProcess, action, NULL); } @@ -733,13 +736,14 @@ rc = CreateProcessW(NULL, deformated, NULL, NULL, FALSE, 0, NULL, c_collen, &si, &info); - msi_free(deformated); if ( !rc ) { - ERR("Unable to execute command\n"); + ERR("Unable to execute command %s\n", debugstr_w(deformated)); + msi_free(deformated); return ERROR_SUCCESS; } + msi_free(deformated); prc = process_handle(package, type, info.hThread, info.hProcess, action, NULL); _____ Modified: trunk/reactos/lib/msi/dialog.c --- trunk/reactos/lib/msi/dialog.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/dialog.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -59,7 +59,6 @@ HBITMAP hBitmap; HICON hIcon; LPWSTR tabnext; - HMODULE hDll; WCHAR name[1]; }; @@ -329,7 +328,6 @@ control->value = NULL; control->hBitmap = NULL; control->hIcon = NULL; - control->hDll = NULL; control->tabnext = strdupW( MSI_RecordGetString( rec, 11) ); x = MSI_RecordGetInteger( rec, 4 ); @@ -695,6 +693,42 @@ return ERROR_SUCCESS; } +/******************** Scroll Text ********************************************/ + +struct msi_scrolltext_info +{ + msi_dialog *dialog; + msi_control *control; + WNDPROC oldproc; + HMODULE hRichedit; +}; + +static LRESULT WINAPI +MSIScrollText_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + struct msi_scrolltext_info *info; + HRESULT r; + + TRACE("%p %04x %08x %08lx\n", hWnd, msg, wParam, lParam); + + info = GetPropW( hWnd, szButtonData ); + + r = CallWindowProcW( info->oldproc, hWnd, msg, wParam, lParam ); + + switch( msg ) + { + case WM_NCDESTROY: + FreeLibrary( info->hRichedit ); + msi_free( info ); + RemovePropW( hWnd, szButtonData ); + break; + case WM_VSCROLL: + msi_dialog_button_handler( info->dialog, info->control, BN_CLICKED ); + break; + } + return r; +} + struct msi_streamin_info { LPSTR string; @@ -718,41 +752,60 @@ return 0; } +static void msi_scrolltext_add_text( msi_control *control, LPCWSTR text ) +{ + struct msi_streamin_info info; + EDITSTREAM es; + + info.string = strdupWtoA( text ); + info.offset = 0; + info.length = lstrlenA( info.string ) + 1; + + es.dwCookie = (DWORD_PTR) &info; + es.dwError = 0; + es.pfnCallback = msi_richedit_stream_in; + + SendMessageW( control->hwnd, EM_STREAMIN, SF_RTF, (LPARAM) &es ); + + msi_free( info.string ); +} + static UINT msi_dialog_scrolltext_control( msi_dialog *dialog, MSIRECORD *rec ) { static const WCHAR szRichEdit20W[] = { 'R','i','c','h','E','d','i','t','2','0','W',0 }; - struct msi_streamin_info info; + struct msi_scrolltext_info *info; msi_control *control; - LPCWSTR text; - EDITSTREAM es; DWORD style; - HMODULE hRichedit; - hRichedit = LoadLibraryA("riched20"); + info = msi_alloc( sizeof *info ); + if (!info) + return ERROR_FUNCTION_FAILED; + info->hRichedit = LoadLibraryA("riched20"); + style = WS_BORDER | ES_MULTILINE | WS_VSCROLL | ES_READONLY | ES_AUTOVSCROLL | WS_TABSTOP; control = msi_dialog_add_control( dialog, rec, szRichEdit20W, style ); if (!control) + { + FreeLibrary( info->hRichedit ); + msi_free( info ); return ERROR_FUNCTION_FAILED; + } - control->hDll = hRichedit; + info->dialog = dialog; + info->control = control; - text = MSI_RecordGetString( rec, 10 ); - info.string = strdupWtoA( text ); - info.offset = 0; - info.length = lstrlenA( info.string ) + 1; + /* subclass the static control */ + info->oldproc = (WNDPROC) SetWindowLongPtrW( control->hwnd, GWLP_WNDPROC, + (LONG_PTR)MSIScrollText_WndProc ); + SetPropW( control->hwnd, szButtonData, info ); - es.dwCookie = (DWORD_PTR) &info; - es.dwError = 0; - es.pfnCallback = msi_richedit_stream_in; + /* add the text into the richedit */ + msi_scrolltext_add_text( control, MSI_RecordGetString( rec, 10 ) ); - SendMessageW( control->hwnd, EM_STREAMIN, SF_RTF, (LPARAM) &es ); - - msi_free( info.string ); - return ERROR_SUCCESS; } @@ -1076,15 +1129,16 @@ if( !mask ) return info; - p = strchrW(mask, '<'); - if( !p ) - return info; - info = msi_alloc_zero( sizeof *info ); if( !info ) return info; - p++; + p = strchrW(mask, '<'); + if( p ) + p++; + else + p = mask; + for( i=0; i<MASK_MAX_GROUPS; i++ ) { /* stop at the end of the string */ @@ -1124,7 +1178,7 @@ HWND hwnd; UINT i; - style = WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP; + style = WS_CHILD | WS_BORDER | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL; GetClientRect( info->hwnd, &rect ); @@ -1512,6 +1566,12 @@ return r; } +UINT msi_dialog_reset( msi_dialog *dialog ) +{ + /* FIXME: should restore the original values of any properties we changed */ + return msi_dialog_evaluate_control_conditions( dialog ); +} + /* figure out the height of 10 point MS Sans Serif */ static INT msi_dialog_get_sans_serif_height( HWND hwnd ) { @@ -2138,8 +2198,6 @@ DestroyIcon( t->hIcon ); msi_free( t->tabnext ); msi_free( t ); - if (t->hDll) - FreeLibrary( t->hDll ); } /* destroy the list of fonts */ _____ Modified: trunk/reactos/lib/msi/events.c --- trunk/reactos/lib/msi/events.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/events.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -243,6 +243,13 @@ return r; } +static UINT ControlEvent_Reset(MSIPACKAGE* package, LPCWSTR argument, + msi_dialog* dialog) +{ + msi_dialog_reset(dialog); + return ERROR_SUCCESS; +} + /* * Subscribed events */ @@ -371,6 +378,7 @@ { "Remove",ControlEvent_Remove }, { "AddSource",ControlEvent_AddSource }, { "SetTargetPath",ControlEvent_SetTargetPath }, + { "Reset",ControlEvent_Reset }, { NULL,NULL }, }; _____ Modified: trunk/reactos/lib/msi/install.c --- trunk/reactos/lib/msi/install.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/install.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -449,8 +449,31 @@ BOOL WINAPI MsiGetMode(MSIHANDLE hInstall, MSIRUNMODE iRunMode) { - FIXME("STUB (iRunMode=%i)\n",iRunMode); - return TRUE; + BOOL r = FALSE; + + switch (iRunMode) + { + case MSIRUNMODE_WINDOWS9X: + if (GetVersion() & 0x80000000) + r = TRUE; + break; + + case MSIRUNMODE_RESERVED11: + case MSIRUNMODE_RESERVED14: + case MSIRUNMODE_RESERVED15: + break; + + case MSIRUNMODE_SCHEDULED: + case MSIRUNMODE_ROLLBACK: + case MSIRUNMODE_COMMIT: + break; + + default: + FIXME("%ld %d\n", hInstall, iRunMode); + r = TRUE; + } + + return r; } /*********************************************************************** _____ Modified: trunk/reactos/lib/msi/msi.c --- trunk/reactos/lib/msi/msi.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/msi.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -57,7 +57,7 @@ static const WCHAR installerW[] = {'\\','I','n','s','t','a','l','l','e','r',0}; -/********************************************************************** +/* * Dll lifetime tracking declaration */ static void LockModule(void) _____ Modified: trunk/reactos/lib/msi/msi.spec --- trunk/reactos/lib/msi/msi.spec 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/msi.spec 2006-01-06 20:14:15 UTC (rev 20620) @@ -41,7 +41,7 @@ 45 stdcall MsiEnumProductsW(long ptr) 46 stdcall MsiEvaluateConditionA(long str) 47 stdcall MsiEvaluateConditionW(long wstr) -48 stub MsiGetLastErrorRecord +48 stdcall MsiGetLastErrorRecord() 49 stdcall MsiGetActiveDatabase(long) 50 stdcall MsiGetComponentStateA(long str ptr ptr) 51 stdcall MsiGetComponentStateW(long wstr ptr ptr) _____ Modified: trunk/reactos/lib/msi/msipriv.h --- trunk/reactos/lib/msi/msipriv.h 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/msipriv.h 2006-01-06 20:14:15 UTC (rev 20620) @@ -317,6 +317,8 @@ /* transform functions */ extern UINT msi_table_apply_transform( MSIDATABASE *db, IStorage *stg ); +extern UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, + LPCWSTR szTransformFile, int iErrorCond ); /* action internals */ extern UINT MSI_InstallPackage( MSIPACKAGE *, LPCWSTR, LPCWSTR ); @@ -414,6 +416,7 @@ extern BOOL msi_dialog_register_class( void ); extern void msi_dialog_unregister_class( void ); extern void msi_dialog_handle_event( msi_dialog*, LPCWSTR, LPCWSTR, MSIRECORD * ); +extern UINT msi_dialog_reset( msi_dialog *dialog ); /* preview */ extern MSIPREVIEW *MSI_EnableUIPreview( MSIDATABASE * ); _____ Modified: trunk/reactos/lib/msi/msiquery.c --- trunk/reactos/lib/msi/msiquery.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/msiquery.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -639,9 +639,15 @@ return r; } +MSIHANDLE WINAPI MsiGetLastErrorRecord( void ) +{ + FIXME("\n"); + return 0; +} + DEFINE_GUID( CLSID_MsiTransform, 0x000c1082, 0x0000, 0x0000, 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); -static UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, +UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond ) { UINT r; _____ Modified: trunk/reactos/lib/msi/package.c --- trunk/reactos/lib/msi/package.c 2006-01-06 19:59:46 UTC (rev 20619) +++ trunk/reactos/lib/msi/package.c 2006-01-06 20:14:15 UTC (rev 20620) @@ -228,6 +228,8 @@ static const WCHAR szScreenY[] = {'S','c','r','e','e','n','Y',0}; static const WCHAR szColorBits[] = {'C','o','l','o','r','B','i','t','s',0}; static const WCHAR szScreenFormat[] = {'%','d',0}; + static const WCHAR szIntel[] = { 'I','n','t','e','l',0 }; + SYSTEM_INFO sys_info; /* * Other things that probably should be set: @@ -353,6 +355,13 @@ sprintfW( bufstr, szFormat2, MSI_MAJORVERSION, MSI_MINORVERSION); MSI_SetPropertyW( package, szVersionMsi, bufstr ); + GetSystemInfo( &sys_info ); + if (sys_info.u.s.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) + { + sprintfW( bufstr, szScreenFormat, sys_info.wProcessorLevel ); + MSI_SetPropertyW( package, szIntel, bufstr ); + } + /* Screen properties. */ dc = GetDC(0); sprintfW( bufstr, szScreenFormat, GetDeviceCaps( dc, HORZRES ) );
19 years
1
0
0
0
[gvg] 20619: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Vitaliy Margolen <wine-patch(a)kievinfo.com> - comctl32: Listview - allow selection toggle with ctrl+space. Robert Reif <reif(a)earthlink.net> - comctl32: Create ipaddress in enabled state. Thomas Weidenmueller <wine-patches(a)reactsoft.com> - comctrl32: ReAlloc should be able to move memory blocks if necessary. - comctl32: Fix error handling in PSM_ADDPAGE in case of memory allocation failure. Modified: trunk/reactos/lib/comctl32/ipaddress.c Modified: trunk/reactos/lib/comctl32/listview.c Modified: trunk/reactos/lib/comctl32/propsheet.c _____ Modified: trunk/reactos/lib/comctl32/ipaddress.c --- trunk/reactos/lib/comctl32/ipaddress.c 2006-01-06 19:56:51 UTC (rev 20618) +++ trunk/reactos/lib/comctl32/ipaddress.c 2006-01-06 19:59:46 UTC (rev 20619) @@ -189,7 +189,7 @@ edit.bottom = rcClient.bottom - 2; infoPtr->Self = hwnd; - infoPtr->Enabled = FALSE; + infoPtr->Enabled = TRUE; infoPtr->Notify = lpCreate->hwndParent; for (i = 0; i < 4; i++) { @@ -208,6 +208,7 @@ part->OrigProc = (WNDPROC) SetWindowLongPtrW (part->EditHwnd, GWLP_WNDPROC, (DWORD_PTR)IPADDRESS_SubclassProc); + EnableWindow(part->EditHwnd, infoPtr->Enabled); } return 0; _____ Modified: trunk/reactos/lib/comctl32/listview.c --- trunk/reactos/lib/comctl32/listview.c 2006-01-06 19:56:51 UTC (rev 20618) +++ trunk/reactos/lib/comctl32/listview.c 2006-01-06 19:59:46 UTC (rev 20619) @@ -3175,6 +3175,7 @@ WORD wCtrl = HIWORD(GetKeyState(VK_CONTROL)); BOOL bResult = FALSE; + TRACE("nItem=%d, wShift=%d, wCtrl=%d\n", nItem, wShift, wCtrl); if ((nItem >= 0) && (nItem < infoPtr->nItemCount)) { if (infoPtr->dwStyle & LVS_SINGLESEL) @@ -3191,6 +3192,14 @@ } else if (wCtrl) { + LVITEMW lvItem; + lvItem.state = ~LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED); + lvItem.stateMask = LVIS_SELECTED; + LISTVIEW_SetItemState(infoPtr, nItem, &lvItem); + + if (lvItem.state & LVIS_SELECTED) + infoPtr->nSelectionMark = nItem; + bResult = LISTVIEW_SetItemFocus(infoPtr, nItem); } else @@ -8020,6 +8029,10 @@ switch (nVirtualKey) { + case VK_SPACE: + nItem = infoPtr->nFocusedItem; + break; + case VK_RETURN: if ((infoPtr->nItemCount > 0) && (infoPtr->nFocusedItem != -1)) { @@ -8086,7 +8099,7 @@ break; } - if ((nItem != -1) && (nItem != infoPtr->nFocusedItem)) + if ((nItem != -1) && (nItem != infoPtr->nFocusedItem || nVirtualKey == VK_SPACE)) LISTVIEW_KeySelection(infoPtr, nItem); return 0; _____ Modified: trunk/reactos/lib/comctl32/propsheet.c --- trunk/reactos/lib/comctl32/propsheet.c 2006-01-06 19:56:51 UTC (rev 20618) +++ trunk/reactos/lib/comctl32/propsheet.c 2006-01-06 19:59:46 UTC (rev 20619) @@ -2288,6 +2288,7 @@ static BOOL PROPSHEET_AddPage(HWND hwndDlg, HPROPSHEETPAGE hpage) { + PropPageInfo * ppi; PropSheetInfo * psInfo = (PropSheetInfo*) GetPropW(hwndDlg, PropSheetInfoStr); HWND hwndTabControl = GetDlgItem(hwndDlg, IDC_TABCONTROL); @@ -2298,9 +2299,13 @@ /* * Allocate and fill in a new PropPageInfo entry. */ - psInfo->proppage = (PropPageInfo*) ReAlloc(psInfo->proppage, - sizeof(PropPageInfo) * - (psInfo->nPages + 1)); + ppi = (PropPageInfo*) ReAlloc(psInfo->proppage, + sizeof(PropPageInfo) * + (psInfo->nPages + 1)); + if (!ppi) + return FALSE; + + psInfo->proppage = ppi; if (!PROPSHEET_CollectPageInfo(ppsp, psInfo, psInfo->nPages)) return FALSE;
19 years
1
0
0
0
[gvg] 20618: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Alexandre Julliard <julliard(a)winehq.org> - Support building flex files without debug support. - Added some flex options to avoid compiler warnings. Moved options from the Makefile into the source. Modified: trunk/reactos/tools/wrc/lex.yy.c Modified: trunk/reactos/tools/wrc/parser.l Modified: trunk/reactos/tools/wrc/wrc.c _____ Modified: trunk/reactos/tools/wrc/lex.yy.c --- trunk/reactos/tools/wrc/lex.yy.c 2006-01-06 19:05:34 UTC (rev 20617) +++ trunk/reactos/tools/wrc/lex.yy.c 2006-01-06 19:56:51 UTC (rev 20618) @@ -1,3 +1,4 @@ +#line 2 "tools/wrc/lex.yy.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: @@ -261,6529 +262,12 @@ #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - -#define FLEX_DEBUG typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; - -#define FLEX_DEBUG extern char *yytext; #define yytext_ptr yytext -static yyconst short yy_nxt[][256] = - { - { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 - }, - - { - 25, 26, 26, 26, 26, 26, 26, 26, 26, 27, - 28, 26, 27, 27, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 27, 26, 29, 26, 26, 26, 26, 30, - - 26, 26, 26, 26, 26, 26, 31, 32, 33, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 26, 35, - 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 36, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 26, 37, 26, 26, 31, 26, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 38, 26, 39, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26 - }, - - { - 25, 26, 26, 26, 26, 26, 26, 26, 26, 40, - 28, 26, 40, 40, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 40, 26, 29, 41, 26, 26, 26, 30, - 26, 26, 26, 26, 26, 26, 31, 32, 33, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 26, 35, - 26, 26, 26, 26, 26, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 36, 31, 31, 31, - - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 26, 37, 26, 26, 31, 26, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 38, 26, 39, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26 - }, - - { - 25, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 44, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 45, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42 - }, - - { - 25, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 44, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 45, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42 - - }, - - { - 25, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 48, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 49, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46 - }, - - { - 25, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 48, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 49, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46 - }, - - { - 25, 50, 50, 50, 50, 50, 50, 50, 50, 51, - 52, 50, 51, 51, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 51, 50, 50, 50, 50, 50, 50, 53, - 50, 50, 50, 50, 50, 50, 50, 50, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 50, 50, - 50, 50, 50, 50, 50, 54, 54, 54, 54, 54, - 54, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 54, 54, 54, - 54, 54, 54, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50 - }, - - { - 25, 50, 50, 50, 50, 50, 50, 50, 50, 51, - 52, 50, 51, 51, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 51, 50, 50, 50, 50, 50, 50, 53, - 50, 50, 50, 50, 50, 50, 50, 50, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 50, 50, - 50, 50, 50, 50, 50, 54, 54, 54, 54, 54, - 54, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 54, 54, 54, - 54, 54, 54, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50 - }, - - { - 25, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55 - - }, - - { - 25, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 57, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, - 55, 55, 55, 55, 55, 55 - }, - - { - 25, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58 - }, - - { - 25, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, - 58, 58, 58, 58, 58, 58 - }, - - { - 25, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, - - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 58, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 61, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 62, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - - 59, 59, 59, 63, 59, 64, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59 - }, - - { - 25, 59, 59, 59, 59, 59, 59, 59, 59, 65, - 60, 59, 65, 65, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 65, 59, 59, 66, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 61, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 62, - - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 63, 59, 64, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, - 59, 59, 59, 59, 59, 59 - - }, - - { - 25, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 58, 67, 67, 67, 67, - 69, 70, 67, 67, 67, 67, 67, 71, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 58, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67 - }, - - { - 25, 67, 67, 67, 67, 67, 67, 67, 67, 72, - 68, 67, 72, 72, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 72, 67, 67, 66, 67, 67, 67, 67, - - 69, 70, 67, 67, 67, 67, 67, 71, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 58, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - - 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67 - }, - - { - 25, 73, 73, 73, 73, 73, 73, 73, 73, 74, - 75, 73, 74, 74, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 74, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 76, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73 - }, - - { - 25, 73, 73, 73, 73, 73, 73, 73, 73, 74, - 75, 73, 74, 74, 73, 73, 73, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 74, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 76, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 73, 73, 73 - }, - - { - 25, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 58, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77 - - }, - - { - 25, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 58, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77 - }, - - { - 25, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 58, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78 - }, - - { - 25, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 58, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, - 78, 78, 78, 78, 78, 78 - }, - - { - 25, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 58, 80, 80, 80, 80, 80, 80, 80, 80, 80, - - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80 - }, - - { - 25, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 58, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80 - - }, - - { - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, - -25, -25, -25, -25, -25, -25 - }, - - { - 25, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - - -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, - -26, -26, -26, -26, -26, -26 - }, - - { - 25, -27, -27, -27, -27, -27, -27, -27, -27, 82, - -27, -27, 82, 82, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, 82, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, - -27, -27, -27, -27, -27, -27 - }, - - { - 25, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, - -28, -28, -28, -28, -28, -28 - }, - - { - 25, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, - -29, -29, -29, -29, -29, -29 - - }, - - { - 25, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, - -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, [truncated at 1000 lines; 6754 more skipped]
19 years
1
0
0
0
[greatlrd] 20617: fix a typo
by greatlrd@svn.reactos.org
fix a typo Modified: trunk/reactos/subsys/win32k/dib/dib1bpp.c _____ Modified: trunk/reactos/subsys/win32k/dib/dib1bpp.c --- trunk/reactos/subsys/win32k/dib/dib1bpp.c 2006-01-06 18:28:27 UTC (rev 20616) +++ trunk/reactos/subsys/win32k/dib/dib1bpp.c 2006-01-06 19:05:34 UTC (rev 20617) @@ -496,6 +496,7 @@ } //NOTE: If you change something here, please do the same in other dibXXbpp.c files! + BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf, RECTL* DestRect, RECTL *SourceRect, POINTL* MaskOrigin, POINTL BrushOrigin, @@ -533,7 +534,7 @@ sx = (((DesX - DestRect->left) * SrcSizeX) / DesSizeX) + SourceRect->left; color = DIB_1BPP_GetPixel(SourceSurf, sx, sy); - DIB_1BPP_PutPixel(DestSurf, DesX, DesY, XLATEOBJ_iXlate(ColorTranslation, 0)); + DIB_1BPP_PutPixel(DestSurf, DesX, DesY, XLATEOBJ_iXlate(ColorTranslation, color)); } }
19 years
1
0
0
0
[gedmurphy] 20616: - Added the properties dialog
by gedmurphy@svn.reactos.org
- Added the properties dialog - Add an about dialog - Split up the query code to make it more usable - Call description from the registry - Many other code mods Modified: trunk/reactos/subsys/system/servman/En.rc Added: trunk/reactos/subsys/system/servman/about.c Added: trunk/reactos/subsys/system/servman/geterror.c Added: trunk/reactos/subsys/system/servman/propsheet.c Added: trunk/reactos/subsys/system/servman/query.c Modified: trunk/reactos/subsys/system/servman/resource.h Modified: trunk/reactos/subsys/system/servman/servman.c Added: trunk/reactos/subsys/system/servman/servman.h Modified: trunk/reactos/subsys/system/servman/servman.rc Modified: trunk/reactos/subsys/system/servman/servman.xml _____ Modified: trunk/reactos/subsys/system/servman/En.rc --- trunk/reactos/subsys/system/servman/En.rc 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/En.rc 2006-01-06 18:28:27 UTC (rev 20616) @@ -27,6 +27,46 @@ END END +IDD_ABOUTBOX DIALOG DISCARDABLE 22,16,190,182 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "About Service Manager" +FONT 8, "Tahoma" +BEGIN + CONTROL "Service Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy(a)gmail.com)", + IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,48,7,130,26 + DEFPUSHBUTTON "Close",IDOK,140,162,44,15,WS_GROUP + ICON IDI_SM_ICON,IDC_STATIC,12,7,30,20 + EDITTEXT IDC_LICENSE_EDIT,8,44,174,107,ES_MULTILINE | + ES_READONLY | WS_VSCROLL +END + + +IDD_DLG_GENERAL DIALOGEX 6,6,253,225 +CAPTION "General" +FONT 8,"MS Sans Serif",0,0 +STYLE 0x10CF0000 +BEGIN + CONTROL "Service name:",IDC_STATIC,"Static",0x50000000,4,11,53,11 + CONTROL "Display name:",IDC_STATIC,"Static",0x50000000,4,29,53,11 + CONTROL "Description",IDC_STATIC,"Static",0x50000000,4,51,53,11 + CONTROL "",IDC_SERV_NAME,"Static",0x50000000,70,11,176,11 + CONTROL "",IDC_DISP_NAME,"Static",0x50001000,70,29,176,12 + CONTROL "",IDC_DESCRIPTION,"Static",0x50201000,70,46,176,22 + CONTROL "Path to executable:",IDC_STATIC,"Static",0x50000000,6,73,82,9 + CONTROL "",IDC_STATIC,"Static",0x50001000,6,86,238,12 + CONTROL "Startup type:",IDC_STATIC,"Static",0x50000000,6,108,53,11 + CONTROL "",IDC_START_TYPE,"ComboBox",0x50010003,70,107,176,11 + CONTROL "Service status:",IDC_STATIC,"Static",0x50000000,4,138,53,11 + CONTROL "",IDC_SERV_STATUS,"Static",0x50000000,70,138,176,11 + CONTROL "Start",IDC_START,"Button",0x50010000,6,155,54,15 + CONTROL "Stop",IDC_STOP,"Button",0x50010000,68,155,54,15 + CONTROL "Pause",IDC_PAUSE,"Button",0x50010000,130,155,54,15 + CONTROL "Resume",IDC_RESUME,"Button",0x50010000,192,155,54,15 + CONTROL "You can specify the start parameters that apply when you start the service from here.",IDC_STATIC,"Static",0x50000000,6,177,240,15 + CONTROL "Start parameters",IDC_STATIC,"Static",0x50000000,6,199,53,11 + CONTROL "",IDC_START_PARAM,"Static",0x50001000,70,199,176,11 +END + STRINGTABLE DISCARDABLE BEGIN IDS_FIRSTCOLUMN "Name" @@ -48,6 +88,20 @@ BEGIN IDS_SERVICES_NUM_SERVICES "Num Services: %d" IDB_START "res/start.bmp" + IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." + /*"This program is free software; you can redistribute it " + "and/or modify it under the terms of the GNU Lesser General " + "Public License as published by the Free Software Foundation; " + "either version 2.1 of the License, or (at your option) any " + "later version.\r\n\r\nThis program is distributed in the hope " + "that it will be useful, but WITHOUT ANY WARRANTY; without even " + "the implied warranty of MERCHANTABILITY or FITNESS FOR A " + "PARTICULAR PURPOSE. See the GNU General Public License for more " + "details.\r\n\r\nYou should have received a copy of the GNU " + "General Public License along with this program; if not, write " + "to the Free Software Foundation, Inc., 59 Temple Place - Suite " + "330, Boston, MA 02111-1307, USA." */ + END STRINGTABLE DISCARDABLE _____ Added: trunk/reactos/subsys/system/servman/about.c --- trunk/reactos/subsys/system/servman/about.c 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/about.c 2006-01-06 18:28:27 UTC (rev 20616) @@ -0,0 +1,35 @@ +#include "servman.h" + +extern HINSTANCE hInstance; + +BOOL CALLBACK +AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + HWND hLicenseEditWnd; + TCHAR strLicense[0x1000]; + + switch (message) + { + case WM_INITDIALOG: + + hLicenseEditWnd = GetDlgItem(hDlg, IDC_LICENSE_EDIT); + + LoadString(hInstance, IDS_LICENSE, strLicense, 0x1000); + + SetWindowText(hLicenseEditWnd, strLicense); + + return TRUE; + + case WM_COMMAND: + + if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL)) + { + EndDialog(hDlg, LOWORD(wParam)); + return TRUE; + } + + break; + } + + return 0; +} _____ Added: trunk/reactos/subsys/system/servman/geterror.c --- trunk/reactos/subsys/system/servman/geterror.c 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/geterror.c 2006-01-06 18:28:27 UTC (rev 20616) @@ -0,0 +1,28 @@ +#include "servman.h" +/* temp file for debugging */ + +VOID GetError(VOID) +{ + LPVOID lpMsgBuf; + + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, + GetLastError(), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), /* Default language */ + (LPTSTR) &lpMsgBuf, + 0, + NULL ); + + MessageBox(NULL, lpMsgBuf, _T("Error!"), MB_OK | MB_ICONERROR); + + LocalFree(lpMsgBuf); +} + + +VOID DisplayString(PTCHAR Msg) +{ + MessageBox(NULL, Msg, _T("Error!"), MB_OK | MB_ICONERROR); + +} _____ Added: trunk/reactos/subsys/system/servman/propsheet.c --- trunk/reactos/subsys/system/servman/propsheet.c 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/propsheet.c 2006-01-06 18:28:27 UTC (rev 20616) @@ -0,0 +1,90 @@ +#include "servman.h" + +extern HINSTANCE hInstance; + + +/* Property page dialog callback */ +INT_PTR CALLBACK +GeneralPageProc(HWND hwndDlg, + UINT uMsg, + WPARAM wParam, + LPARAM lParam) +{ + + switch (uMsg) + { + case WM_INITDIALOG: + + break; + + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDC_START: + break; + + case IDC_STOP: + + break; + } + break; + + case WM_DESTROY: + break; + + case WM_NOTIFY: + { + LPNMHDR lpnm = (LPNMHDR)lParam; + + switch (lpnm->code) + + default: + break; + } + break; + } + + return FALSE; +} + + + +static VOID +InitPropSheetPage(PROPSHEETPAGE *psp, WORD idDlg, DLGPROC DlgProc) +{ + ZeroMemory(psp, sizeof(PROPSHEETPAGE)); + psp->dwSize = sizeof(PROPSHEETPAGE); + psp->dwFlags = PSP_DEFAULT; + psp->hInstance = hInstance; + psp->pszTemplate = MAKEINTRESOURCE(idDlg); + psp->pfnDlgProc = DlgProc; +} + + +LONG APIENTRY +PropSheets(HWND hwnd) +{ + PROPSHEETHEADER psh; + PROPSHEETPAGE psp[1]; + TCHAR Caption[256]; + + LoadString(hInstance, IDS_PROP_SHEET, Caption, sizeof(Caption) / sizeof(TCHAR)); + + ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); + psh.dwSize = sizeof(PROPSHEETHEADER); + psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE; + psh.hwndParent = NULL; + psh.hInstance = hInstance; + psh.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_SM_ICON)); + psh.pszCaption = Caption; + psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE); + psh.nStartPage = 0; + psh.ppsp = psp; + + InitPropSheetPage(&psp[0], IDD_DLG_GENERAL, GeneralPageProc); + //logon + //recovery + //dependancies + + return (LONG)(PropertySheet(&psh) != -1); +} _____ Added: trunk/reactos/subsys/system/servman/query.c --- trunk/reactos/subsys/system/servman/query.c 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/query.c 2006-01-06 18:28:27 UTC (rev 20616) @@ -0,0 +1,328 @@ +#include "servman.h" + +extern HINSTANCE hInstance; +extern HWND hListView; +extern HWND hStatus; + +/* Stores the service array */ +ENUM_SERVICE_STATUS_PROCESS *pServiceStatus = NULL; + + +/* free service array */ +VOID FreeMemory(VOID) +{ + HeapFree(GetProcessHeap(), 0, pServiceStatus); +} + + +BOOL +RefreshServiceList(VOID) +{ + LV_ITEM item; + TCHAR szNumServices[32]; + TCHAR szStatus[128]; + DWORD NumServices = 0; + DWORD Index; + + NumServices = GetServiceList(); + + if (NumServices) + { + HICON hiconItem; /* icon for list-view items */ + HIMAGELIST hSmall; /* image list for other views */ + TCHAR buf[40]; + + /* Create the icon image lists */ + hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON), + GetSystemMetrics(SM_CYSMICON), ILC_MASK, 1, 1); + + /* Add an icon to each image list */ + hiconItem = LoadImage(hInstance, MAKEINTRESOURCE(IDI_SM_ICON), IMAGE_ICON, 16, 16, 0); + ImageList_AddIcon(hSmall, hiconItem); + + ListView_SetImageList(hListView, hSmall, LVSIL_SMALL); + + /* set the number of services in the status bar */ + LoadString(hInstance, IDS_SERVICES_NUM_SERVICES, szNumServices, 32); + _stprintf(buf, szNumServices, NumServices); + SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)buf); + + for (Index = 0; Index < NumServices; Index++) + { + HKEY hKey = NULL; + TCHAR Description[5000]; + DWORD Size = 5000; + + /* set the display name */ + + ZeroMemory(&item, sizeof(LV_ITEM)); + item.mask = LVIF_TEXT; + //item.iImage = 0; + item.pszText = pServiceStatus[Index].lpDisplayName; + item.iItem = ListView_GetItemCount(hListView); + item.lParam = 0; + item.iItem = ListView_InsertItem(hListView, &item); + + + /* set the description */ + + _stprintf(buf, _T("System\\CurrentControlSet\\Services\\%s"), + pServiceStatus[Index].lpServiceName); + + if( RegOpenKeyEx(HKEY_LOCAL_MACHINE, + buf, + 0, + KEY_READ, + &hKey) != ERROR_SUCCESS) + { + GetError(); + return FALSE; + } + + RegQueryValueEx(hKey, + _T("Description"), + NULL, + NULL, + (LPBYTE)Description, + &Size); + + item.pszText = Description; + item.iSubItem = 1; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + + + /* set the status */ + + if (pServiceStatus[Index].ServiceStatusProcess.dwCurrentState == SERVICE_RUNNING) + { + LoadString(hInstance, IDS_SERVICES_STATUS_RUNNING, szStatus, 128); + item.pszText = szStatus; + item.iSubItem = 2; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } + else + { + item.pszText = '\0'; + item.iSubItem = 2; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } + } + } + + return TRUE; +} + + + + +DWORD +GetServiceList(VOID) +{ + SC_HANDLE ScHandle; + + DWORD BytesNeeded = 0; + DWORD ResumeHandle = 0; + DWORD NumServices = 0; + + ScHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); + if (ScHandle != INVALID_HANDLE_VALUE) + { + if (EnumServicesStatusEx(ScHandle, + SC_ENUM_PROCESS_INFO, + SERVICE_WIN32, + SERVICE_STATE_ALL, + (LPBYTE)pServiceStatus, + 0, &BytesNeeded, + &NumServices, + &ResumeHandle, + 0) == 0) + { + /* Call function again if required size was returned */ + if (GetLastError() == ERROR_MORE_DATA) + { + /* reserve memory for service info array */ + pServiceStatus = (ENUM_SERVICE_STATUS_PROCESS *) HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + if (pServiceStatus == NULL) + return FALSE; + + /* fill array with service info */ + if (EnumServicesStatusEx(ScHandle, + SC_ENUM_PROCESS_INFO, + SERVICE_WIN32, + SERVICE_STATE_ALL, + (LPBYTE)pServiceStatus, + BytesNeeded, + &BytesNeeded, + &NumServices, + &ResumeHandle, + 0) == 0) + { + HeapFree(GetProcessHeap(), 0, pServiceStatus); + return FALSE; + } + } + else /* exit on failure */ + { + return FALSE; + } + } + } + + CloseServiceHandle(ScHandle); + + return NumServices; +} + + + + + + + + + + + +/* + //WORD wCodePage; + //WORD wLangID; + //SC_HANDLE hService; + //DWORD dwHandle, dwLen; + //UINT BufLen; + //TCHAR* lpData; + //TCHAR* lpBuffer; + //TCHAR szStrFileInfo[80]; + //TCHAR FileName[MAX_PATH]; + //LPVOID pvData; + + //LPSERVICE_FAILURE_ACTIONS pServiceFailureActions = NULL; + //LPQUERY_SERVICE_CONFIG pServiceConfig = NULL; + + BytesNeeded = 0; + hService = OpenService(ScHandle, + pServiceStatus[Index].lpServiceName, + SC_MANAGER_CONNECT); + if (hService != INVALID_HANDLE_VALUE) + { + / * check if service is required by the system* / + if (!QueryServiceConfig2(hService, + SERVICE_CONFIG_FAILURE_ACTIONS, + (LPBYTE)pServiceFailureActions, + 0, + &BytesNeeded)) + { + if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) + { + pServiceFailureActions = (LPSERVICE_FAILURE_ACTIONS) + HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + if (pServiceFailureActions == NULL) + return FALSE; + + if (!QueryServiceConfig2(hService, + SERVICE_CONFIG_FAILURE_ACTIONS, + (LPBYTE)pServiceFailureActions, + BytesNeeded, + &BytesNeeded)) + { + HeapFree(GetProcessHeap(), 0, pServiceFailureActions); + return FALSE; + } + } + else / * exit on failure * / + { + return FALSE; + } + } + if (pServiceFailureActions->cActions) + { + if (pServiceFailureActions->lpsaActions[0].Type == SC_ACTION_REBOOT) + { + LoadString(hInstance, IDS_SERVICES_YES, szStatus, 128); + item.pszText = szStatus; + item.iSubItem = 1; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } + } + + if (pServiceFailureActions != NULL) + { + HeapFree(GetProcessHeap(), 0, pServiceFailureActions); + pServiceFailureActions = NULL; + } + + / * get vendor of service binary * / + BytesNeeded = 0; + if (!QueryServiceConfig(hService, pServiceConfig, 0, &BytesNeeded)) + { + if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) + { + pServiceConfig = (LPQUERY_SERVICE_CONFIG) + HeapAlloc(GetProcessHeap(), 0, BytesNeeded); + if (pServiceConfig == NULL) + return FALSE; + + if (!QueryServiceConfig(hService, + pServiceConfig, + BytesNeeded, + &BytesNeeded)) + { + HeapFree(GetProcessHeap(), 0, pServiceConfig); + return FALSE; + } + } + else / * exit on failure * / + { + return FALSE; + } + } + + memset(&FileName, 0, MAX_PATH); + if (_tcscspn(pServiceConfig->lpBinaryPathName, _T("\""))) + { + _tcsncpy(FileName, pServiceConfig->lpBinaryPathName, + _tcscspn(pServiceConfig->lpBinaryPathName, _T(" ")) ); + } + else + { + _tcscpy(FileName, pServiceConfig->lpBinaryPathName); + } + + HeapFree(GetProcessHeap(), 0, pServiceConfig); + pServiceConfig = NULL; + + dwLen = GetFileVersionInfoSize(FileName, &dwHandle); + if (dwLen) + { + lpData = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, dwLen); + if (lpData == NULL) + return FALSE; + + if (!GetFileVersionInfo (FileName, dwHandle, dwLen, lpData)) { + HeapFree(GetProcessHeap(), 0, lpData); + return FALSE; + } + + if (VerQueryValue(lpData, _T("\\VarFileInfo\\Translation"), &pvData, (PUINT) &BufLen)) + { + wCodePage = LOWORD(*(DWORD*) pvData); + wLangID = HIWORD(*(DWORD*) pvData); + wsprintf(szStrFileInfo, _T("StringFileInfo\\%04X%04X\\CompanyName"), wCodePage, wLangID); + } + + if (VerQueryValue (lpData, szStrFileInfo, (LPVOID) &lpBuffer, (PUINT) &BufLen)) { + item.pszText = lpBuffer; + item.iSubItem = 2; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } + HeapFree(GetProcessHeap(), 0, lpData); + } + else + { + LoadString(hInstance, IDS_SERVICES_UNKNOWN, szStatus, 128); + item.pszText = szStatus; + item.iSubItem = 2; + SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } + CloseServiceHandle(hService); + } +*/ _____ Modified: trunk/reactos/subsys/system/servman/resource.h --- trunk/reactos/subsys/system/servman/resource.h 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/resource.h 2006-01-06 18:28:27 UTC (rev 20616) @@ -1,5 +1,10 @@ #define IDC_STATIC -1 +/* about box info */ +#define IDD_ABOUTBOX 200 +#define IDC_LICENSE_EDIT 201 +#define IDS_LICENSE 202 + #define IDC_SERVLIST 1000 #define IDC_TOOLBAR 1001 #define IDC_STATUSBAR 1002 @@ -42,3 +47,19 @@ #define IDB_START 50 #define IDI_SM_ICON 51 + + + + +#define IDS_PROP_SHEET 10000 +#define IDD_DLG_GENERAL 10001 +#define IDC_SERV_NAME 10041 +#define IDC_DISP_NAME 10051 +#define IDC_DESCRIPTION 10061 +#define IDC_START_TYPE 10101 +#define IDC_SERV_STATUS 10121 +#define IDC_START 10131 +#define IDC_STOP 10141 +#define IDC_PAUSE 10151 +#define IDC_RESUME 10161 +#define IDC_START_PARAM 10191 _____ Modified: trunk/reactos/subsys/system/servman/servman.c --- trunk/reactos/subsys/system/servman/servman.c 2006-01-06 17:46:36 UTC (rev 20615) +++ trunk/reactos/subsys/system/servman/servman.c 2006-01-06 18:28:27 UTC (rev 20616) @@ -1,270 +1,14 @@ -#include <windows.h> -#include <stdio.h> -#include <tchar.h> -#include <commctrl.h> -#include "resource.h" +#include "servman.h" + const TCHAR ClassName[] = _T("ServiceManager"); HINSTANCE hInstance; +HWND hMainWnd; HWND hListView; HWND hStatus; -void -GetServices ( void ) -{ - LV_ITEM item; - WORD wCodePage; - WORD wLangID; - SC_HANDLE ScHandle; - SC_HANDLE hService; - DWORD BytesNeeded = 0; - DWORD ResumeHandle = 0; - DWORD NumServices = 0; - DWORD dwHandle, dwLen; - size_t Index; - UINT BufLen; - TCHAR szStatus[128]; - TCHAR* lpData; - TCHAR* lpBuffer; - TCHAR szStrFileInfo[80]; - TCHAR FileName[MAX_PATH]; - TCHAR szNumServices[32]; - LPVOID pvData; - - LPSERVICE_FAILURE_ACTIONS pServiceFailureActions = NULL; - LPQUERY_SERVICE_CONFIG pServiceConfig = NULL; - ENUM_SERVICE_STATUS_PROCESS *pServiceStatus = NULL; - - ScHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); - if (ScHandle != INVALID_HANDLE_VALUE) - { - if (EnumServicesStatusEx(ScHandle, - SC_ENUM_PROCESS_INFO, - SERVICE_WIN32, - SERVICE_STATE_ALL, - (LPBYTE)pServiceStatus, - 0, &BytesNeeded, - &NumServices, - &ResumeHandle, - 0) == 0) - { - /* Call function again if required size was returned */ - if (GetLastError() == ERROR_MORE_DATA) - { - /* reserve memory for service info array */ - pServiceStatus = (ENUM_SERVICE_STATUS_PROCESS *) HeapAlloc(GetProcessHeap(), 0, BytesNeeded); - if (pServiceStatus == NULL) - return; - - /* fill array with service info */ - if (EnumServicesStatusEx(ScHandle, - SC_ENUM_PROCESS_INFO, - SERVICE_WIN32, - SERVICE_STATE_ALL, - (LPBYTE)pServiceStatus, - BytesNeeded, - &BytesNeeded, - &NumServices, - &ResumeHandle, - 0) == 0) - { - HeapFree(GetProcessHeap(), 0, pServiceStatus); - return; - } - } - else /* exit on failure */ - { - return; - } - } - - if (NumServices) - { - HICON hiconItem; // icon for list-view items - HIMAGELIST hSmall; // image list for other views - TCHAR buf[40]; - - /* Create the icon image lists */ - hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON), - GetSystemMetrics(SM_CYSMICON), ILC_MASK, 1, 1); - - /* Add an icon to each image list */ - hiconItem = LoadImage(hInstance, MAKEINTRESOURCE(IDI_SM_ICON), IMAGE_ICON, 16, 16, 0); - ImageList_AddIcon(hSmall, hiconItem); - - ListView_SetImageList(hListView, hSmall, LVSIL_SMALL); - - /* set the number of services in the status bar */ - LoadString(hInstance, IDS_SERVICES_NUM_SERVICES, szNumServices, 32); - _stprintf(buf, szNumServices, NumServices); - SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)buf); - - for (Index = 0; Index < NumServices; Index++) - { - memset(&item, 0, sizeof(LV_ITEM)); - item.mask = LVIF_TEXT; - //item.iImage = 0; - item.pszText = pServiceStatus[Index].lpDisplayName; - item.iItem = ListView_GetItemCount(hListView); - item.lParam = 0; - item.iItem = ListView_InsertItem(hListView, &item); - - BytesNeeded = 0; - hService = OpenService(ScHandle, - pServiceStatus[Index].lpServiceName, - SC_MANAGER_CONNECT); - if (hService != INVALID_HANDLE_VALUE) - { - /* check if service is required by the system*/ - if (!QueryServiceConfig2(hService, - SERVICE_CONFIG_FAILURE_ACTIONS, - (LPBYTE)pServiceFailureActions, - 0, - &BytesNeeded)) - { - if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) - { - pServiceFailureActions = (LPSERVICE_FAILURE_ACTIONS) - HeapAlloc(GetProcessHeap(), 0, BytesNeeded); - if (pServiceFailureActions == NULL) - return; - - if (!QueryServiceConfig2(hService, - SERVICE_CONFIG_FAILURE_ACTIONS, - (LPBYTE)pServiceFailureActions, - BytesNeeded, - &BytesNeeded)) - { - HeapFree(GetProcessHeap(), 0, pServiceFailureActions); - return; - } - } - else /* exit on failure */ - { - return; - } - } - if (pServiceFailureActions->cActions) - { - if (pServiceFailureActions->lpsaActions[0].Type == SC_ACTION_REBOOT) - { - LoadString(hInstance, IDS_SERVICES_YES, szStatus, 128); - item.pszText = szStatus; - item.iSubItem = 1; - SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - } - - if (pServiceFailureActions != NULL) - { - HeapFree(GetProcessHeap(), 0, pServiceFailureActions); - pServiceFailureActions = NULL; - } - - /* get vendor of service binary */ - BytesNeeded = 0; - if (!QueryServiceConfig(hService, pServiceConfig, 0, &BytesNeeded)) - { - if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) - { - pServiceConfig = (LPQUERY_SERVICE_CONFIG) - HeapAlloc(GetProcessHeap(), 0, BytesNeeded); - if (pServiceConfig == NULL) - return; - - if (!QueryServiceConfig(hService, - pServiceConfig, - BytesNeeded, - &BytesNeeded)) - { - HeapFree(GetProcessHeap(), 0, pServiceConfig); - return; - } - } - else /* exit on failure */ - { - return; - } - } - - memset(&FileName, 0, MAX_PATH); - if (_tcscspn(pServiceConfig->lpBinaryPathName, _T("\""))) - { - _tcsncpy(FileName, pServiceConfig->lpBinaryPathName, - _tcscspn(pServiceConfig->lpBinaryPathName, _T(" ")) ); - } - else - { - _tcscpy(FileName, pServiceConfig->lpBinaryPathName); - } - - HeapFree(GetProcessHeap(), 0, pServiceConfig); - pServiceConfig = NULL; - - dwLen = GetFileVersionInfoSize(FileName, &dwHandle); - if (dwLen) - { - lpData = (TCHAR*) HeapAlloc(GetProcessHeap(), 0, dwLen); - if (lpData == NULL) - return; - - if (!GetFileVersionInfo (FileName, dwHandle, dwLen, lpData)) { - HeapFree(GetProcessHeap(), 0, lpData); - return; - } - - if (VerQueryValue(lpData, _T("\\VarFileInfo\\Translation"), &pvData, (PUINT) &BufLen)) - { - wCodePage = LOWORD(*(DWORD*) pvData); - wLangID = HIWORD(*(DWORD*) pvData); - wsprintf(szStrFileInfo, _T("StringFileInfo\\%04X%04X\\CompanyName"), wCodePage, wLangID); - } - - if (VerQueryValue (lpData, szStrFileInfo, (LPVOID) &lpBuffer, (PUINT) &BufLen)) { - item.pszText = lpBuffer; - item.iSubItem = 2; - SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - HeapFree(GetProcessHeap(), 0, lpData); - } - else - { - LoadString(hInstance, IDS_SERVICES_UNKNOWN, szStatus, 128); - item.pszText = szStatus; - item.iSubItem = 2; - SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - CloseServiceHandle(hService); - } - - if (pServiceStatus[Index].ServiceStatusProcess.dwCurrentState == SERVICE_RUNNING) - { - LoadString(hInstance, IDS_SERVICES_STATUS_RUNNING, szStatus, 128); - item.pszText = szStatus; - item.iSubItem = 2; - SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - else - { - item.pszText = '\0'; - item.iSubItem = 2; - SendMessage(hListView, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - - } - } - - HeapFree(GetProcessHeap(), 0, pServiceStatus); - CloseServiceHandle(ScHandle); - } - - -} - - - LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) @@ -285,7 +29,6 @@ LVCOLUMN lvc = { 0 }; //LVITEM lv = { 0 }; - //GetClientRect(hwnd, &rc); hListView = CreateWindow(WC_LISTVIEW, NULL, WS_CHILD | WS_VISIBLE | LVS_REPORT | WS_BORDER | LVS_EDITLABELS, @@ -309,13 +52,13 @@ ListView_InsertColumn(hListView, 0, &lvc); lvc.iSubItem = 1; - lvc.cx = 150; + lvc.cx = 260; LoadString(hInstance, IDS_SECONDCOLUMN, szTemp, 256); lvc.pszText = szTemp; ListView_InsertColumn(hListView, 1, &lvc); lvc.iSubItem = 2; - lvc.cx = 80; + lvc.cx = 75; LoadString(hInstance, IDS_THIRDCOLUMN, szTemp, 256); lvc.pszText = szTemp; ListView_InsertColumn(hListView, 2, &lvc); @@ -332,7 +75,7 @@ lvc.pszText = szTemp; ListView_InsertColumn(hListView, 4, &lvc); - // Create Toolbar + /* Create Toolbar */ hTool = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, @@ -396,12 +139,14 @@ hInstance, NULL); if(hStatus == NULL) - MessageBox(hwnd, _T("Could not create status bar."), _T("Error"), MB_OK | MB_ICONERROR); + MessageBox(hwnd, _T("Could not create status bar."), + _T("Error!"), MB_OK | MB_ICONERROR); SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths); /* populate the list view with all services */ - GetServices(); + if (! RefreshServiceList() ) + GetError(); } break; case WM_SIZE: @@ -410,11 +155,11 @@ RECT rcTool; int iToolHeight; - HWND hStatus; + //HWND hStatus; RECT rcStatus; int iStatusHeight; - HWND hListView; + //HWND hListView; int lvHeight; RECT rcClient; @@ -490,14 +235,14 @@ } break; - // Process other notifications here. - default: break; } break; case WM_CLOSE: + /* free the service array */ + FreeMemory(); DestroyWindow(hwnd); break; case WM_DESTROY: @@ -529,13 +274,18 @@ break; case ID_PROP: + PropSheets(hwnd); break; case ID_VIEW_CUSTOMIZE: break; case ID_HELP_ABOUT: - break; + DialogBox(GetModuleHandle(NULL), + MAKEINTRESOURCE(IDD_ABOUTBOX), + hwnd, + AboutDialogProc); + break; case ID_EXPORT: break; @@ -554,7 +304,6 @@ LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; - HWND hwnd; MSG Msg; BOOL bRet; @@ -568,7 +317,7 @@ wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; - wc.hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_SM_ICON)); [truncated at 1000 lines; 91 more skipped]
19 years
1
0
0
0
[gvg] 20615: Merge in a post-Wine-0_9_5 change to get rid of some warnings. Thanks to
by gvg@svn.reactos.org
Merge in a post-Wine-0_9_5 change to get rid of some warnings. Thanks to CvW for reporting. Modified: trunk/reactos/tools/wpp/lex.yy.c Modified: trunk/reactos/tools/wpp/ppl.l _____ Modified: trunk/reactos/tools/wpp/lex.yy.c --- trunk/reactos/tools/wpp/lex.yy.c 2006-01-06 17:26:49 UTC (rev 20614) +++ trunk/reactos/tools/wpp/lex.yy.c 2006-01-06 17:46:36 UTC (rev 20615) @@ -1114,8 +1114,6 @@ #error Must use flex version 2.5.1 or higher (yy_scan_* routines are required). #endif -#define YY_USE_PROTOS -#define YY_NO_UNPUT #define YY_READ_BUF_SIZE 65536 /* So we read most of a file at once */ #define yy_current_state() YY_START @@ -1235,7 +1233,7 @@ * The scanner starts here ************************************************************************ ** */ -#line 1239 "tools/wpp/lex.yy.c" +#line 1237 "tools/wpp/lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1389,7 +1387,7 @@ register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 301 "tools/wpp/ppl.l" +#line 299 "tools/wpp/ppl.l" /* * Catch line-continuations. @@ -1403,7 +1401,7 @@ /* * Detect the leading # of a preprocessor directive. */ -#line 1407 "tools/wpp/lex.yy.c" +#line 1405 "tools/wpp/lex.yy.c" if ( yy_init ) { @@ -1489,7 +1487,7 @@ case 1: YY_RULE_SETUP -#line 314 "tools/wpp/ppl.l" +#line 312 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; yy_push_state(pp_pp); YY_BREAK /* @@ -1497,107 +1495,107 @@ */ case 2: YY_RULE_SETUP -#line 319 "tools/wpp/ppl.l" +#line 317 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE;} else {yy_pp_state(pp_eol);} YY_BREAK case 3: YY_RULE_SETUP -#line 320 "tools/wpp/ppl.l" +#line 318 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_inc); return tINCLUDE_NEXT;} else {yy_pp_state(pp_eol);} YY_BREAK case 4: YY_RULE_SETUP -#line 321 "tools/wpp/ppl.l" +#line 319 "tools/wpp/ppl.l" yy_pp_state(yy_current_state() != pp_ignore ? pp_def : pp_eol); YY_BREAK case 5: YY_RULE_SETUP -#line 322 "tools/wpp/ppl.l" +#line 320 "tools/wpp/ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tERROR; YY_BREAK case 6: YY_RULE_SETUP -#line 323 "tools/wpp/ppl.l" +#line 321 "tools/wpp/ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tWARNING; YY_BREAK case 7: YY_RULE_SETUP -#line 324 "tools/wpp/ppl.l" +#line 322 "tools/wpp/ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPRAGMA; YY_BREAK case 8: YY_RULE_SETUP -#line 325 "tools/wpp/ppl.l" +#line 323 "tools/wpp/ppl.l" yy_pp_state(pp_eol); if(yy_top_state() != pp_ignore) return tPPIDENT; YY_BREAK case 9: YY_RULE_SETUP -#line 326 "tools/wpp/ppl.l" +#line 324 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_ifd); return tUNDEF;} else {yy_pp_state(pp_eol);} YY_BREAK case 10: YY_RULE_SETUP -#line 327 "tools/wpp/ppl.l" +#line 325 "tools/wpp/ppl.l" yy_pp_state(pp_ifd); return tIFDEF; YY_BREAK case 11: YY_RULE_SETUP -#line 328 "tools/wpp/ppl.l" +#line 326 "tools/wpp/ppl.l" pp_incl_state.seen_junk--; yy_pp_state(pp_ifd); return tIFNDEF; YY_BREAK case 12: YY_RULE_SETUP -#line 329 "tools/wpp/ppl.l" +#line 327 "tools/wpp/ppl.l" yy_pp_state(pp_if); return tIF; YY_BREAK case 13: YY_RULE_SETUP -#line 330 "tools/wpp/ppl.l" +#line 328 "tools/wpp/ppl.l" yy_pp_state(pp_if); return tELIF; YY_BREAK case 14: YY_RULE_SETUP -#line 331 "tools/wpp/ppl.l" +#line 329 "tools/wpp/ppl.l" yy_pp_state(pp_endif); return tELSE; YY_BREAK case 15: YY_RULE_SETUP -#line 332 "tools/wpp/ppl.l" +#line 330 "tools/wpp/ppl.l" yy_pp_state(pp_endif); return tENDIF; YY_BREAK case 16: YY_RULE_SETUP -#line 333 "tools/wpp/ppl.l" +#line 331 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 17: YY_RULE_SETUP -#line 334 "tools/wpp/ppl.l" +#line 332 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) {yy_pp_state(pp_line); return tGCCLINE;} else {yy_pp_state(pp_eol);} YY_BREAK case 18: YY_RULE_SETUP -#line 335 "tools/wpp/ppl.l" +#line 333 "tools/wpp/ppl.l" pperror("Invalid preprocessor token '%s'", pptext); YY_BREAK case 19: YY_RULE_SETUP -#line 336 "tools/wpp/ppl.l" +#line 334 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; /* This could be the null-token */ YY_BREAK case 20: YY_RULE_SETUP -#line 337 "tools/wpp/ppl.l" +#line 335 "tools/wpp/ppl.l" newline(0); YY_BREAK case 21: YY_RULE_SETUP -#line 338 "tools/wpp/ppl.l" +#line 336 "tools/wpp/ppl.l" pperror("Preprocessor junk '%s'", pptext); YY_BREAK case 22: YY_RULE_SETUP -#line 339 "tools/wpp/ppl.l" +#line 337 "tools/wpp/ppl.l" return *pptext; YY_BREAK /* @@ -1605,37 +1603,37 @@ */ case 23: YY_RULE_SETUP -#line 344 "tools/wpp/ppl.l" +#line 342 "tools/wpp/ppl.l" return make_number(10, &pplval, pptext, ppleng); YY_BREAK case 24: YY_RULE_SETUP -#line 345 "tools/wpp/ppl.l" +#line 343 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_iqs); YY_BREAK case 25: YY_RULE_SETUP -#line 346 "tools/wpp/ppl.l" +#line 344 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs); YY_BREAK case 26: YY_RULE_SETUP -#line 347 "tools/wpp/ppl.l" +#line 345 "tools/wpp/ppl.l" ; YY_BREAK case 27: YY_RULE_SETUP -#line 348 "tools/wpp/ppl.l" +#line 346 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 28: YY_RULE_SETUP -#line 349 "tools/wpp/ppl.l" +#line 347 "tools/wpp/ppl.l" newline(0); YY_BREAK case 29: YY_RULE_SETUP -#line 350 "tools/wpp/ppl.l" +#line 348 "tools/wpp/ppl.l" pperror(yy_current_state() == pp_inc ? "Trailing junk in #include" : "Trailing junk in #line"); YY_BREAK /* @@ -1643,22 +1641,22 @@ */ case 30: YY_RULE_SETUP -#line 355 "tools/wpp/ppl.l" +#line 353 "tools/wpp/ppl.l" ; YY_BREAK case 31: YY_RULE_SETUP -#line 356 "tools/wpp/ppl.l" +#line 354 "tools/wpp/ppl.l" newline(1); YY_BREAK case 32: YY_RULE_SETUP -#line 357 "tools/wpp/ppl.l" +#line 355 "tools/wpp/ppl.l" newline(0); YY_BREAK case 33: YY_RULE_SETUP -#line 358 "tools/wpp/ppl.l" +#line 356 "tools/wpp/ppl.l" ; YY_BREAK /* @@ -1669,107 +1667,107 @@ */ case 34: YY_RULE_SETUP -#line 367 "tools/wpp/ppl.l" +#line 365 "tools/wpp/ppl.l" return make_number(8, &pplval, pptext, ppleng); YY_BREAK case 35: YY_RULE_SETUP -#line 368 "tools/wpp/ppl.l" +#line 366 "tools/wpp/ppl.l" pperror("Invalid octal digit"); YY_BREAK case 36: YY_RULE_SETUP -#line 369 "tools/wpp/ppl.l" +#line 367 "tools/wpp/ppl.l" return make_number(10, &pplval, pptext, ppleng); YY_BREAK case 37: YY_RULE_SETUP -#line 370 "tools/wpp/ppl.l" +#line 368 "tools/wpp/ppl.l" return make_number(16, &pplval, pptext, ppleng); YY_BREAK case 38: YY_RULE_SETUP -#line 371 "tools/wpp/ppl.l" +#line 369 "tools/wpp/ppl.l" pperror("Invalid hex number"); YY_BREAK case 39: YY_RULE_SETUP -#line 372 "tools/wpp/ppl.l" +#line 370 "tools/wpp/ppl.l" yy_push_state(pp_defined); return tDEFINED; YY_BREAK case 40: YY_RULE_SETUP -#line 373 "tools/wpp/ppl.l" +#line 371 "tools/wpp/ppl.l" return tLSHIFT; YY_BREAK case 41: YY_RULE_SETUP -#line 374 "tools/wpp/ppl.l" +#line 372 "tools/wpp/ppl.l" return tRSHIFT; YY_BREAK case 42: YY_RULE_SETUP -#line 375 "tools/wpp/ppl.l" +#line 373 "tools/wpp/ppl.l" return tLOGAND; YY_BREAK case 43: YY_RULE_SETUP -#line 376 "tools/wpp/ppl.l" +#line 374 "tools/wpp/ppl.l" return tLOGOR; YY_BREAK case 44: YY_RULE_SETUP -#line 377 "tools/wpp/ppl.l" +#line 375 "tools/wpp/ppl.l" return tEQ; YY_BREAK case 45: YY_RULE_SETUP -#line 378 "tools/wpp/ppl.l" +#line 376 "tools/wpp/ppl.l" return tNE; YY_BREAK case 46: YY_RULE_SETUP -#line 379 "tools/wpp/ppl.l" +#line 377 "tools/wpp/ppl.l" return tLTE; YY_BREAK case 47: YY_RULE_SETUP -#line 380 "tools/wpp/ppl.l" +#line 378 "tools/wpp/ppl.l" return tGTE; YY_BREAK case 48: YY_RULE_SETUP -#line 381 "tools/wpp/ppl.l" +#line 379 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 49: YY_RULE_SETUP -#line 382 "tools/wpp/ppl.l" +#line 380 "tools/wpp/ppl.l" newline(0); YY_BREAK case 50: YY_RULE_SETUP -#line 383 "tools/wpp/ppl.l" +#line 381 "tools/wpp/ppl.l" pperror("Junk in conditional expression"); YY_BREAK case 51: YY_RULE_SETUP -#line 384 "tools/wpp/ppl.l" +#line 382 "tools/wpp/ppl.l" ; YY_BREAK case 52: YY_RULE_SETUP -#line 385 "tools/wpp/ppl.l" +#line 383 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs); YY_BREAK case 53: YY_RULE_SETUP -#line 386 "tools/wpp/ppl.l" +#line 384 "tools/wpp/ppl.l" pperror("String constants not allowed in conditionals"); YY_BREAK case 54: YY_RULE_SETUP -#line 387 "tools/wpp/ppl.l" +#line 385 "tools/wpp/ppl.l" return *pptext; YY_BREAK /* @@ -1778,27 +1776,27 @@ */ case 55: YY_RULE_SETUP -#line 393 "tools/wpp/ppl.l" +#line 391 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tIDENT; YY_BREAK case 56: YY_RULE_SETUP -#line 394 "tools/wpp/ppl.l" +#line 392 "tools/wpp/ppl.l" ; YY_BREAK case 57: YY_RULE_SETUP -#line 395 "tools/wpp/ppl.l" +#line 393 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 58: YY_RULE_SETUP -#line 396 "tools/wpp/ppl.l" +#line 394 "tools/wpp/ppl.l" newline(0); YY_BREAK case 59: YY_RULE_SETUP -#line 397 "tools/wpp/ppl.l" +#line 395 "tools/wpp/ppl.l" pperror("Identifier expected"); YY_BREAK /* @@ -1806,22 +1804,22 @@ */ case 60: YY_RULE_SETUP -#line 402 "tools/wpp/ppl.l" +#line 400 "tools/wpp/ppl.l" ; YY_BREAK case 61: YY_RULE_SETUP -#line 403 "tools/wpp/ppl.l" +#line 401 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 62: YY_RULE_SETUP -#line 404 "tools/wpp/ppl.l" +#line 402 "tools/wpp/ppl.l" newline(0); YY_BREAK case 63: YY_RULE_SETUP -#line 405 "tools/wpp/ppl.l" +#line 403 "tools/wpp/ppl.l" pperror("Garbage after #else or #endif."); YY_BREAK /* @@ -1831,27 +1829,27 @@ */ case 64: YY_RULE_SETUP -#line 412 "tools/wpp/ppl.l" +#line 410 "tools/wpp/ppl.l" yy_pop_state(); pplval.cptr = pp_xstrdup(pptext); return tIDENT; YY_BREAK case 65: YY_RULE_SETUP -#line 413 "tools/wpp/ppl.l" +#line 411 "tools/wpp/ppl.l" ; YY_BREAK case 66: YY_RULE_SETUP -#line 414 "tools/wpp/ppl.l" +#line 412 "tools/wpp/ppl.l" return *pptext; YY_BREAK case 67: YY_RULE_SETUP -#line 415 "tools/wpp/ppl.l" +#line 413 "tools/wpp/ppl.l" newline(0); YY_BREAK case 68: YY_RULE_SETUP -#line 416 "tools/wpp/ppl.l" +#line 414 "tools/wpp/ppl.l" pperror("Identifier expected"); YY_BREAK /* @@ -1862,27 +1860,27 @@ */ case 69: YY_RULE_SETUP -#line 424 "tools/wpp/ppl.l" +#line 422 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; } YY_BREAK case 70: YY_RULE_SETUP -#line 425 "tools/wpp/ppl.l" +#line 423 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; } YY_BREAK case 71: YY_RULE_SETUP -#line 426 "tools/wpp/ppl.l" +#line 424 "tools/wpp/ppl.l" if(yy_top_state() != pp_ignore) { pplval.cptr = pp_xstrdup(pptext); return tLITERAL; } YY_BREAK case 72: YY_RULE_SETUP -#line 427 "tools/wpp/ppl.l" +#line 425 "tools/wpp/ppl.l" newline(1); yy_pop_state(); if(yy_current_state() != pp_ignore) { return tNL; } YY_BREAK case 73: YY_RULE_SETUP -#line 428 "tools/wpp/ppl.l" +#line 426 "tools/wpp/ppl.l" newline(0); YY_BREAK /* @@ -1890,27 +1888,27 @@ */ case 74: YY_RULE_SETUP -#line 433 "tools/wpp/ppl.l" +#line 431 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); pplval.cptr[ppleng-1] = '\0'; yy_pp_state(pp_macro); return tMACRO; YY_BREAK case 75: YY_RULE_SETUP -#line 434 "tools/wpp/ppl.l" +#line 432 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); yy_pp_state(pp_define); return tDEFINE; YY_BREAK case 76: YY_RULE_SETUP -#line 435 "tools/wpp/ppl.l" +#line 433 "tools/wpp/ppl.l" ; YY_BREAK case 77: YY_RULE_SETUP -#line 436 "tools/wpp/ppl.l" +#line 434 "tools/wpp/ppl.l" newline(0); YY_BREAK case 78: YY_RULE_SETUP -#line 437 "tools/wpp/ppl.l" +#line 435 "tools/wpp/ppl.l" perror("Identifier expected"); YY_BREAK /* @@ -1918,37 +1916,37 @@ */ case 79: YY_RULE_SETUP -#line 442 "tools/wpp/ppl.l" +#line 440 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tLITERAL; YY_BREAK case 80: YY_RULE_SETUP -#line 443 "tools/wpp/ppl.l" +#line 441 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tLITERAL; YY_BREAK case 81: YY_RULE_SETUP -#line 444 "tools/wpp/ppl.l" +#line 442 "tools/wpp/ppl.l" newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 82: YY_RULE_SETUP -#line 445 "tools/wpp/ppl.l" +#line 443 "tools/wpp/ppl.l" newline(0); YY_BREAK case 83: YY_RULE_SETUP -#line 446 "tools/wpp/ppl.l" +#line 444 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 84: YY_RULE_SETUP -#line 447 "tools/wpp/ppl.l" +#line 445 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs); YY_BREAK case 85: YY_RULE_SETUP -#line 448 "tools/wpp/ppl.l" +#line 446 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs); YY_BREAK /* @@ -1956,37 +1954,37 @@ */ case 86: YY_RULE_SETUP -#line 453 "tools/wpp/ppl.l" +#line 451 "tools/wpp/ppl.l" yy_pp_state(pp_mbody); return tMACROEND; YY_BREAK case 87: YY_RULE_SETUP -#line 454 "tools/wpp/ppl.l" +#line 452 "tools/wpp/ppl.l" ; YY_BREAK case 88: YY_RULE_SETUP -#line 455 "tools/wpp/ppl.l" +#line 453 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tIDENT; YY_BREAK case 89: YY_RULE_SETUP -#line 456 "tools/wpp/ppl.l" +#line 454 "tools/wpp/ppl.l" return ','; YY_BREAK case 90: YY_RULE_SETUP -#line 457 "tools/wpp/ppl.l" +#line 455 "tools/wpp/ppl.l" return tELIPSIS; YY_BREAK case 91: YY_RULE_SETUP -#line 458 "tools/wpp/ppl.l" +#line 456 "tools/wpp/ppl.l" pperror("Argument identifier expected"); YY_BREAK case 92: YY_RULE_SETUP -#line 459 "tools/wpp/ppl.l" +#line 457 "tools/wpp/ppl.l" newline(0); YY_BREAK /* @@ -1994,57 +1992,57 @@ */ case 93: YY_RULE_SETUP -#line 464 "tools/wpp/ppl.l" +#line 462 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tLITERAL; YY_BREAK case 94: YY_RULE_SETUP -#line 465 "tools/wpp/ppl.l" +#line 463 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tIDENT; YY_BREAK case 95: YY_RULE_SETUP -#line 466 "tools/wpp/ppl.l" +#line 464 "tools/wpp/ppl.l" return tCONCAT; YY_BREAK case 96: YY_RULE_SETUP -#line 467 "tools/wpp/ppl.l" +#line 465 "tools/wpp/ppl.l" return tSTRINGIZE; YY_BREAK case 97: YY_RULE_SETUP -#line 468 "tools/wpp/ppl.l" +#line 466 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tLITERAL; YY_BREAK case 98: YY_RULE_SETUP -#line 469 "tools/wpp/ppl.l" +#line 467 "tools/wpp/ppl.l" pplval.cptr = pp_xstrdup(pptext); return tLITERAL; YY_BREAK case 99: YY_RULE_SETUP -#line 470 "tools/wpp/ppl.l" +#line 468 "tools/wpp/ppl.l" newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL; YY_BREAK case 100: YY_RULE_SETUP -#line 471 "tools/wpp/ppl.l" +#line 469 "tools/wpp/ppl.l" newline(0); YY_BREAK case 101: YY_RULE_SETUP -#line 472 "tools/wpp/ppl.l" +#line 470 "tools/wpp/ppl.l" newline(1); yy_pop_state(); return tNL; YY_BREAK case 102: YY_RULE_SETUP -#line 473 "tools/wpp/ppl.l" +#line 471 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs); YY_BREAK case 103: YY_RULE_SETUP -#line 474 "tools/wpp/ppl.l" +#line 472 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs); YY_BREAK /* @@ -2061,12 +2059,12 @@ yy_c_buf_p = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 485 "tools/wpp/ppl.l" +#line 483 "tools/wpp/ppl.l" yy_pp_state(pp_macscan); YY_BREAK case 105: YY_RULE_SETUP -#line 486 "tools/wpp/ppl.l" +#line 484 "tools/wpp/ppl.l" { if(yy_top_state() != pp_macscan) newline(0); @@ -2074,12 +2072,12 @@ YY_BREAK case 106: YY_RULE_SETUP -#line 490 "tools/wpp/ppl.l" +#line 488 "tools/wpp/ppl.l" newline(0); YY_BREAK case 107: YY_RULE_SETUP -#line 491 "tools/wpp/ppl.l" +#line 489 "tools/wpp/ppl.l" { macexpstackentry_t *mac = pop_macro(); yy_pop_state(); @@ -2094,7 +2092,7 @@ */ case 108: YY_RULE_SETUP -#line 503 "tools/wpp/ppl.l" +#line 501 "tools/wpp/ppl.l" { if(++MACROPARENTHESES() > 1) add_text_to_macro(pptext, ppleng); @@ -2102,7 +2100,7 @@ YY_BREAK case 109: YY_RULE_SETUP -#line 507 "tools/wpp/ppl.l" +#line 505 "tools/wpp/ppl.l" { if(--MACROPARENTHESES() == 0) { @@ -2115,7 +2113,7 @@ YY_BREAK case 110: YY_RULE_SETUP -#line 516 "tools/wpp/ppl.l" +#line 514 "tools/wpp/ppl.l" { if(MACROPARENTHESES() > 1) add_text_to_macro(pptext, ppleng); @@ -2125,32 +2123,32 @@ YY_BREAK case 111: YY_RULE_SETUP -#line 522 "tools/wpp/ppl.l" +#line 520 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs); YY_BREAK case 112: YY_RULE_SETUP -#line 523 "tools/wpp/ppl.l" +#line 521 "tools/wpp/ppl.l" new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs); YY_BREAK case 113: YY_RULE_SETUP -#line 524 "tools/wpp/ppl.l" +#line 522 "tools/wpp/ppl.l" yy_push_state(pp_comment); add_text_to_macro(" ", 1); YY_BREAK case 114: YY_RULE_SETUP -#line 525 "tools/wpp/ppl.l" +#line 523 "tools/wpp/ppl.l" pp_status.line_number++; pp_status.char_number = 1; add_text_to_macro(pptext, ppleng); YY_BREAK case 115: YY_RULE_SETUP -#line 526 "tools/wpp/ppl.l" +#line 524 "tools/wpp/ppl.l" add_text_to_macro(pptext, ppleng); YY_BREAK case 116: YY_RULE_SETUP -#line 527 "tools/wpp/ppl.l" +#line 525 "tools/wpp/ppl.l" newline(0); YY_BREAK /* @@ -2158,22 +2156,22 @@ */ case 117: YY_RULE_SETUP -#line 532 "tools/wpp/ppl.l" +#line 530 "tools/wpp/ppl.l" yy_push_state(pp_comment); YY_BREAK case 118: YY_RULE_SETUP -#line 533 "tools/wpp/ppl.l" +#line 531 "tools/wpp/ppl.l" ; YY_BREAK case 119: YY_RULE_SETUP -#line 534 "tools/wpp/ppl.l" +#line 532 "tools/wpp/ppl.l" newline(0); YY_BREAK case 120: YY_RULE_SETUP -#line 535 "tools/wpp/ppl.l" +#line 533 "tools/wpp/ppl.l" yy_pop_state(); YY_BREAK /* @@ -2181,7 +2179,7 @@ */ case 121: YY_RULE_SETUP -#line 540 "tools/wpp/ppl.l" +#line 538 "tools/wpp/ppl.l" { if(pptext[ppleng-1] == '\\') ppwarning("C++ style comment ends with an escaped newline (escape ignored)"); @@ -2192,22 +2190,22 @@ */ case 122: YY_RULE_SETUP -#line 548 "tools/wpp/ppl.l" +#line 546 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_dqs); YY_BREAK case 123: YY_RULE_SETUP -#line 549 "tools/wpp/ppl.l" +#line 547 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; new_string(); add_string(pptext, ppleng); yy_push_state(pp_sqs); YY_BREAK case 124: YY_RULE_SETUP -#line 550 "tools/wpp/ppl.l" +#line 548 "tools/wpp/ppl.l" add_string(pptext, ppleng); YY_BREAK case 125: YY_RULE_SETUP -#line 551 "tools/wpp/ppl.l" +#line 549 "tools/wpp/ppl.l" { add_string(pptext, ppleng); yy_pop_state(); @@ -2233,12 +2231,12 @@ YY_BREAK case 126: YY_RULE_SETUP -#line 573 "tools/wpp/ppl.l" +#line 571 "tools/wpp/ppl.l" add_string(pptext, ppleng); YY_BREAK case 127: YY_RULE_SETUP -#line 574 "tools/wpp/ppl.l" +#line 572 "tools/wpp/ppl.l" { add_string(pptext, ppleng); yy_pop_state(); @@ -2256,12 +2254,12 @@ YY_BREAK case 128: YY_RULE_SETUP -#line 588 "tools/wpp/ppl.l" +#line 586 "tools/wpp/ppl.l" add_string(pptext, ppleng); YY_BREAK case 129: YY_RULE_SETUP -#line 589 "tools/wpp/ppl.l" +#line 587 "tools/wpp/ppl.l" { add_string(pptext, ppleng); yy_pop_state(); @@ -2271,7 +2269,7 @@ YY_BREAK case 130: YY_RULE_SETUP -#line 595 "tools/wpp/ppl.l" +#line 593 "tools/wpp/ppl.l" { /* * This is tricky; we need to remove the line-continuation @@ -2299,12 +2297,12 @@ YY_BREAK case 131: YY_RULE_SETUP -#line 619 "tools/wpp/ppl.l" +#line 617 "tools/wpp/ppl.l" add_string(pptext, ppleng); YY_BREAK case 132: YY_RULE_SETUP -#line 620 "tools/wpp/ppl.l" +#line 618 "tools/wpp/ppl.l" { newline(1); add_string(pptext, ppleng); @@ -2316,7 +2314,7 @@ */ case 133: YY_RULE_SETUP -#line 629 "tools/wpp/ppl.l" +#line 627 "tools/wpp/ppl.l" { pp_entry_t *ppp; pp_incl_state.seen_junk++; @@ -2364,27 +2362,27 @@ */ case 134: YY_RULE_SETUP -#line 674 "tools/wpp/ppl.l" +#line 672 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; put_buffer(pptext, ppleng); YY_BREAK case 135: YY_RULE_SETUP -#line 675 "tools/wpp/ppl.l" +#line 673 "tools/wpp/ppl.l" put_buffer(pptext, ppleng); YY_BREAK case 136: YY_RULE_SETUP -#line 676 "tools/wpp/ppl.l" +#line 674 "tools/wpp/ppl.l" newline(1); YY_BREAK case 137: YY_RULE_SETUP -#line 677 "tools/wpp/ppl.l" +#line 675 "tools/wpp/ppl.l" newline(0); YY_BREAK case 138: YY_RULE_SETUP -#line 678 "tools/wpp/ppl.l" +#line 676 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; put_buffer(pptext, ppleng); YY_BREAK /* @@ -2393,12 +2391,12 @@ */ case 139: YY_RULE_SETUP -#line 684 "tools/wpp/ppl.l" +#line 682 "tools/wpp/ppl.l" put_buffer(pptext, ppleng); YY_BREAK case 140: YY_RULE_SETUP -#line 686 "tools/wpp/ppl.l" +#line 684 "tools/wpp/ppl.l" { pplval.cptr=pp_xstrdup(pptext); yy_pop_state(); @@ -2407,12 +2405,12 @@ YY_BREAK case 141: YY_RULE_SETUP -#line 692 "tools/wpp/ppl.l" +#line 690 "tools/wpp/ppl.l" ; YY_BREAK case 142: YY_RULE_SETUP -#line 694 "tools/wpp/ppl.l" +#line 692 "tools/wpp/ppl.l" { new_string(); add_string(pptext,ppleng);yy_push_state(pp_dqs); } @@ -2423,7 +2421,7 @@ */ case 143: YY_RULE_SETUP -#line 702 "tools/wpp/ppl.l" +#line 700 "tools/wpp/ppl.l" pp_incl_state.seen_junk++; ppwarning("Unmatched text '%c' (0x%02x); please report\n", isprint(*pptext & 0xff) ? *pptext : ' ', *pptext); YY_BREAK case YY_STATE_EOF(INITIAL): @@ -2448,7 +2446,7 @@ case YY_STATE_EOF(pp_defined): case YY_STATE_EOF(pp_ignore): case YY_STATE_EOF(RCINCL): -#line 704 "tools/wpp/ppl.l" +#line 702 "tools/wpp/ppl.l" { YY_BUFFER_STATE b = YY_CURRENT_BUFFER; bufferstackentry_t *bep = pop_buffer(); [truncated at 1000 lines; 35 more skipped]
19 years
1
0
0
0
[gvg] 20614: Sync to Wine-0_9_5:
by gvg@svn.reactos.org
Sync to Wine-0_9_5: Alexandre Julliard <julliard(a)winehq.org> - Support building flex files without debug support. - Added some flex options to avoid compiler warnings. Moved options from the Makefile into the source. Modified: trunk/reactos/tools/wpp/lex.yy.c Modified: trunk/reactos/tools/wpp/ppl.l Modified: trunk/reactos/tools/wpp/wpp.c _____ Modified: trunk/reactos/tools/wpp/lex.yy.c --- trunk/reactos/tools/wpp/lex.yy.c 2006-01-06 16:28:07 UTC (rev 20613) +++ trunk/reactos/tools/wpp/lex.yy.c 2006-01-06 17:26:49 UTC (rev 20614) @@ -16,7 +16,7 @@ #define yytext pptext #define yywrap ppwrap -#line 20 "lex.yy.c" +#line 20 "tools/wpp/lex.yy.c" /* A lexical scanner generated by flex */ /* Scanner skeleton version: @@ -280,13435 +280,641 @@ #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - -#define FLEX_DEBUG typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; - -#define FLEX_DEBUG extern char *yytext; #define yytext_ptr yytext -static yyconst short yy_nxt[][256] = - { - { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +static yy_state_type yy_get_previous_state YY_PROTO(( void )); +static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); +static int yy_get_next_buffer YY_PROTO(( void )); +static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + yytext_ptr = yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ + yy_hold_char = *yy_cp; \ + *yy_cp = '\0'; \ + yy_c_buf_p = yy_cp; + +#define YY_NUM_RULES 144 +#define YY_END_OF_BUFFER 145 +static yyconst short int yy_accept[421] = + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 118, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 - }, + 0, 0, 0, 0, 145, 134, 135, 136, 122, 143, + 123, 134, 133, 134, 135, 1, 22, 17, 19, 17, + 22, 21, 18, 18, 18, 18, 18, 18, 18, 18, + 69, 72, 70, 71, 29, 26, 27, 25, 29, 24, + 29, 29, 124, 132, 125, 143, 126, 127, 143, 128, + 129, 118, 119, 118, 78, 76, 78, 78, 75, 78, - { - 45, 46, 46, 46, 46, 46, 46, 46, 46, 47, - 48, 47, 47, 47, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 47, 46, 49, 50, 46, 46, 46, 51, + 79, 83, 85, 84, 143, 80, 91, 87, 91, 86, + 89, 91, 91, 88, 91, 93, 101, 103, 96, 102, + 98, 97, 94, 98, 93, 107, 107, 105, 104, 107, + 115, 114, 111, 112, 108, 109, 110, 115, 115, 134, + 135, 139, 122, 139, 123, 134, 133, 134, 54, 51, + 48, 54, 53, 54, 52, 54, 34, 36, 54, 54, + 54, 54, 50, 54, 54, 59, 56, 57, 59, 55, + 59, 63, 60, 61, 63, 63, 23, 68, 65, 68, + 66, 68, 64, 68, 30, 31, 33, 33, 33, 30, + 1, 141, 144, 142, 140, 140, 134, 135, 134, 117, - 46, 46, 46, 46, 46, 46, 46, 52, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 46, 54, 46, 46, 53, 46, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 121, 133, 137, 138, 135, 1, 17, 18, 18, 18, + 18, 18, 18, 18, 18, 19, 20, 21, 18, 18, + 18, 18, 18, 12, 18, 18, 18, 18, 18, 69, + 70, 71, 73, 71, 26, 28, 29, 124, 131, 130, + 131, 126, 128, 118, 118, 118, 120, 76, 74, 75, + 77, 78, 79, 80, 82, 80, 87, 86, 91, 88, + 92, 91, 93, 95, 98, 97, 94, 100, 98, 93, + 107, 105, 104, 107, 106, 107, 115, 115, 113, 116, + 115, 134, 139, 139, 51, 45, 42, 34, 35, 34, + 34, 38, 36, 36, 36, 40, 46, 44, 47, 41, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 49, 50, 133, 43, 56, 55, 58, 59, 60, 62, + 0, 23, 65, 64, 68, 67, 68, 30, 32, 33, + 30, 141, 140, 121, 121, 18, 18, 18, 18, 18, + 18, 12, 18, 18, 18, 18, 18, 18, 18, 70, + 81, 90, 99, 35, 35, 34, 34, 34, 37, 36, + 36, 36, 133, 121, 18, 13, 14, 18, 18, 18, + 18, 18, 18, 16, 18, 18, 18, 35, 35, 35, + 34, 37, 37, 36, 133, 18, 13, 14, 15, 5, + 8, 10, 18, 18, 16, 18, 9, 18, 35, 37, + 37, 37, 133, 4, 15, 5, 8, 10, 11, 18, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46 - }, + 7, 9, 18, 37, 133, 4, 11, 2, 7, 6, + 39, 2, 0, 6, 0, 0, 0, 3, 3, 0 + } ; - { - 45, 46, 46, 46, 46, 46, 46, 46, 46, 55, - 48, 55, 55, 55, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 55, 46, 49, 56, 46, 46, 46, 51, - 46, 46, 46, 46, 46, 46, 46, 52, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, +static yyconst int yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 5, 6, 7, 1, 1, 8, 9, 10, + 11, 12, 1, 13, 1, 14, 15, 16, 17, 17, + 17, 17, 17, 17, 17, 18, 18, 1, 1, 19, + 20, 21, 1, 1, 22, 22, 22, 22, 22, 22, + 23, 23, 23, 23, 23, 24, 23, 23, 23, 23, + 23, 23, 23, 23, 25, 23, 23, 26, 23, 23, + 1, 27, 1, 1, 28, 1, 29, 30, 31, 32, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 46, 54, 46, 46, 53, 46, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 33, 34, 35, 36, 37, 36, 36, 38, 39, 40, + 41, 42, 36, 43, 44, 45, 46, 36, 47, 48, + 36, 36, 1, 49, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, - 46, 46, 46, 46, 46, 46 - }, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; - { - 45, 57, 57, 57, 57, 57, 57, 57, 57, 58, - 59, 58, 58, 60, 57, 57, 57, 57, 57, 57, +static yyconst int yy_meta[50] = + { 0, + 1, 2, 3, 2, 1, 4, 5, 1, 6, 7, + 8, 9, 8, 10, 11, 12, 12, 12, 1, 1, + 13, 14, 15, 15, 15, 15, 16, 17, 14, 14, + 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 1 + } ; - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 58, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 61, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 62, 57, 57, 57, 57, 63, 63, 63, - 64, 65, 63, 63, 63, 66, 63, 63, 67, 63, - 63, 63, 68, 63, 63, 63, 63, 69, 63, 70, +static yyconst short int yy_base[464] = + { 0, + 0, 48, 55, 0, 102, 103, 130, 0, 177, 178, + 179, 182, 186, 187, 104, 107, 214, 0, 261, 262, + 289, 0, 338, 0, 386, 389, 414, 439, 466, 0, + 515, 0, 564, 0, 399, 403, 612, 638, 665, 0, + 428, 618, 714, 763, 1354, 0, 49, 1771, 1771, 1771, + 1771, 96, 0, 109, 118, 1771, 1771, 811, 1771, 1350, + 111, 111, 858, 1316, 154, 161, 1307, 1300, 1302, 1312, + 0, 1771, 184, 124, 1771, 196, 1771, 1771, 254, 1771, + 0, 199, 0, 1771, 1771, 269, 0, 1771, 1337, 0, + 1771, 0, 1771, 263, 1771, 208, 1771, 267, 1123, 277, - 63, 63, 63, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 0, 1771, 1771, 1771, 271, 281, 1771, 393, 1771, 396, + 1771, 1118, 396, 0, 406, 0, 1771, 1771, 1124, 1771, + 400, 0, 0, 418, 905, 1771, 430, 1771, 1771, 433, + 0, 1771, 1771, 1771, 1771, 1771, 1771, 432, 435, 0, + 449, 1771, 1771, 1771, 1771, 444, 0, 954, 1771, 456, + 1771, 1110, 1771, 1121, 1771, 449, 988, 714, 443, 1108, + 603, 0, 623, 1094, 1077, 1771, 615, 1771, 619, 0, + 632, 1771, 644, 1771, 635, 634, 635, 1771, 655, 1771, + 1771, 646, 0, 659, 0, 1771, 1771, 725, 738, 741, + 1771, 742, 1771, 1771, 0, 735, 0, 747, 741, 1771, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57 - }, + 0, 0, 1771, 1122, 755, 1771, 0, 0, 1091, 747, + 754, 1086, 1079, 1081, 1091, 1771, 1771, 1116, 1084, 717, + 1085, 1073, 1082, 777, 1083, 1073, 1083, 1079, 1067, 0, + 0, 1771, 1771, 1106, 787, 1771, 1105, 0, 1771, 1771, + 1104, 0, 0, 0, 743, 765, 1771, 791, 1771, 1093, + 1771, 1099, 0, 1771, 794, 1098, 795, 798, 1086, 0, + 1771, 1096, 0, 1771, 789, 0, 0, 801, 1081, 0, + 804, 1771, 1771, 807, 1771, 1080, 0, 804, 1771, 1771, + 1079, 806, 1771, 0, 818, 1771, 1771, 847, 843, 874, + 799, 0, 905, 903, 800, 1771, 1771, 1771, 1771, 1771, - { - 45, 57, 57, 57, 57, 57, 57, 57, 57, 58, - 59, 58, 58, 60, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 58, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 61, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 1771, 1078, 1046, 1771, 823, 0, 1771, 1076, 824, 1771, + 1075, 816, 871, 0, 1771, 1771, 1051, 0, 1771, 1036, + 872, 876, 0, 1036, 0, 995, 990, 988, 979, 970, + 942, 880, 917, 915, 906, 881, 873, 870, 862, 0, + 884, 1771, 890, 907, 845, 618, 863, 873, 910, 911, + 914, 922, 840, 1085, 830, 935, 938, 832, 796, 791, + 801, 797, 783, 974, 753, 702, 691, 938, 942, 945, + 1771, 961, 953, 1771, 620, 616, 977, 985, 986, 990, + 991, 994, 598, 433, 998, 417, 1006, 388, 1771, 972, + 977, 985, 386, 1015, 1018, 1023, 1026, 1027, 1031, 371, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 62, 57, 57, 57, 57, 63, 63, 63, - 64, 65, 63, 63, 63, 66, 63, 63, 67, 63, - 63, 63, 68, 63, 63, 63, 63, 69, 63, 70, - 63, 63, 63, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 1048, 1049, 359, 1771, 255, 1056, 1057, 1060, 1061, 1064, + 0, 1065, 234, 1068, 153, 61, 9, 1069, 1072, 1771, + 1134, 1151, 1168, 1185, 1202, 1219, 1236, 1253, 1270, 1287, + 1304, 1321, 1338, 1351, 1353, 1370, 1387, 1404, 1421, 1438, + 1455, 1472, 1489, 1500, 1517, 1534, 1540, 1557, 1574, 1591, + 1597, 1614, 1631, 1648, 1654, 1660, 1677, 1694, 1702, 1719, + 1736, 1063, 1753 + } ; - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 57, 57, 57, 57, 57, 57 +static yyconst short int yy_def[464] = + { 0, + 420, 1, 420, 3, 421, 421, 420, 7, 422, 422, + 423, 423, 424, 424, 425, 425, 420, 17, 426, 426, + 420, 21, 420, 23, 427, 427, 428, 428, 420, 29, + 420, 31, 420, 33, 429, 429, 430, 430, 420, 39, + 431, 431, 432, 432, 420, 433, 420, 420, 420, 420, + 420, 434, 435, 434, 420, 420, 420, 420, 420, 58, + 420, 420, 58, 63, 63, 63, 63, 63, 63, 63, + 436, 420, 437, 420, 420, 420, 420, 420, 420, 420, + 435, 420, 438, 420, 420, 439, 440, 420, 439, 441, + 420, 442, 420, 443, 420, 420, 420, 420, 444, 420, - }, + 445, 420, 420, 420, 446, 420, 420, 420, 420, 420, + 420, 420, 420, 447, 420, 448, 420, 420, 420, 420, + 449, 450, 451, 420, 451, 420, 420, 420, 420, 420, + 452, 420, 420, 420, 420, 420, 420, 453, 420, 433, + 420, 420, 420, 420, 420, 434, 435, 454, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 435, 420, 435, 420, 420, 420, 420, 420, 455, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 456, 457, 458, 420, 420, 420, 420, 458, + 420, 420, 420, 420, 459, 459, 433, 420, 434, 420, - { - 45, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 73, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 74, 71, 71, 71, 71, 71, 71, 71, + 460, 435, 420, 420, 420, 420, 58, 63, 63, 63, + 63, 63, 63, 63, 63, 420, 420, 420, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 436, + 461, 420, 420, 420, 420, 420, 420, 438, 420, 420, + 420, 440, 441, 442, 443, 443, 420, 420, 420, 444, + 420, 420, 445, 420, 420, 420, 420, 420, 420, 447, + 420, 420, 448, 420, 449, 450, 451, 420, 420, 125, + 420, 420, 420, 420, 420, 420, 452, 453, 420, 420, + 420, 434, 420, 454, 420, 420, 420, 420, 420, 420, + 420, 462, 420, 420, 420, 420, 420, 420, 420, 420, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 420, 420, 435, 420, 420, 455, 420, 420, 420, 420, + 420, 420, 420, 456, 420, 420, 420, 458, 420, 420, + 458, 420, 459, 463, 460, 63, 63, 63, 63, 63, + 63, 420, 63, 63, 63, 63, 63, 63, 63, 461, + 420, 420, 420, 420, 420, 420, 420, 420, 462, 420, + 420, 420, 435, 463, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 420, 420, 420, + 420, 420, 420, 420, 435, 63, 420, 420, 63, 63, + 63, 63, 63, 63, 420, 63, 63, 63, 420, 420, + 420, 420, 435, 63, 420, 420, 420, 420, 63, 63, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71 - }, + 63, 420, 63, 420, 435, 420, 420, 63, 420, 63, + 435, 420, 420, 420, 420, 420, 420, 420, 420, 0, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, + 420, 420, 420 + } ; - { - 45, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, +static yyconst short int yy_nxt[1821] = + { 0, + 46, 47, 48, 47, 46, 49, 50, 46, 51, 46, + 46, 46, 46, 46, 52, 46, 46, 46, 46, 46, + 46, 53, 53, 53, 53, 53, 54, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 46, 55, + 198, 55, 198, 418, 56, 57, 58, 59, 60, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 61, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 62, 57, 63, 63, 63, 64, 65, 63, 63, + 63, 66, 67, 63, 63, 63, 68, 63, 63, 63, - 71, 71, 71, 71, 71, 71, 71, 73, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 74, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - - 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 71, 71, 71, 71 - }, - - { - 45, 75, 75, 75, 75, 75, 75, 75, 75, 76, - 77, 76, 76, 76, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 76, 75, 78, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 79, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 80, 75, 75, 75, 75, 81, 81, 81, 81, 81, + 69, 70, 63, 57, 72, 72, 93, 200, 417, 93, + 201, 203, 204, 217, 218, 94, 73, 73, 94, 205, + 420, 205, 200, 420, 206, 201, 233, 234, 74, 74, + 75, 76, 77, 76, 75, 78, 75, 75, 75, 75, + 75, 75, 75, 75, 79, 75, 75, 75, 80, 75, + 75, 81, 81, 81, 81, 81, 82, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 75, 84, + 84, 84, 85, 85, 84, 416, 232, 88, 84, 84, + 88, 220, 223, 221, 224, 200, 222, 235, 201, 235, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 75, 82, 75, 75, 81, 75, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75 - }, - - { - 45, 75, 75, 75, 75, 75, 75, 75, 75, 76, - 77, 76, 76, 76, 75, 75, 75, 75, 75, 75, - - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 76, 75, 78, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 79, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 80, 75, 75, 75, 75, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 75, 82, 75, 75, 81, 75, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, - - 81, 81, 81, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 75, 75 - }, - - { - 45, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 85, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 86, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83 - - }, - - { - 45, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 85, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 86, 83, 83, 83, 83, 83, 83, 83, - - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83 - }, - - { - 45, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 84, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 89, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87 - }, - - { - 45, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 84, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 89, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, - 87, 87, 87, 87, 87, 87 - }, - - { - 45, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 84, 90, 90, 90, 90, 90, 90, 90, 90, 90, - - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 91, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 89, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90 - }, - - { - 45, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 84, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - - 90, 90, 91, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 89, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 90 - - }, - - { - 45, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 94, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92 - }, - - { - 45, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - - 92, 92, 94, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92 - }, - - { - 45, 95, 95, 95, 95, 95, 95, 95, 95, 96, - 97, 96, 96, 96, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 96, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 98, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 225, 236, 237, 86, 86, 89, 91, 91, 89, 248, + 232, 248, 89, 89, 95, 96, 97, 96, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, 98, 95, 95, 95, 95, 95, 95, 99, 99, 99, 99, 99, + 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 95, 102, 102, 200, 103, 103, 201, 104, + 104, 240, 241, 415, 246, 105, 105, 247, 200, 251, + 252, 201, 200, 255, 256, 201, 411, 106, 106, 107, + 108, 109, 108, 107, 107, 107, 107, 107, 107, 110, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 95, 100, 95, 95, 99, 95, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 45, 95, 95, 95, 95, 95, 95, 95, 95, 96, - 97, 96, 96, 96, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 96, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 98, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 95, 100, 95, 95, 99, 95, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, - - 99, 99, 99, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95 - }, - - { - 45, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 103, 101, 101, 101, 101, 104, - 101, 101, 101, 101, 101, 101, 101, 105, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 106, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101 - - }, - - { - 45, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 103, 101, 101, 101, 101, 104, - 101, 101, 101, 101, 101, 101, 101, 105, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 106, 101, 101, 101, 101, 101, 101, 101, - - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, - 101, 101, 101, 101, 101, 101 - }, - - { - 45, 107, 107, 107, 107, 107, 107, 107, 107, 108, - 109, 108, 108, 108, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 108, 107, 107, 107, 107, 107, 107, 107, - - 107, 110, 107, 107, 111, 107, 112, 113, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 114, 114, 114, 114, 114, + 107, 111, 112, 113, 107, 107, 107, 107, 107, 107, + 114, 114, 114, 114, 114, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 107, 115, 107, 107, 114, 107, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107 - }, - - { - 45, 107, 107, 107, 107, 107, 107, 107, 107, 108, - 109, 108, 108, 108, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 108, 107, 107, 107, 107, 107, 107, 107, - 107, 110, 107, 107, 111, 107, 112, 113, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 107, 115, 107, 107, 114, 107, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107 - }, - - { - 45, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, - - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 118, 119, 116, 116, 116, 120, - 116, 116, 116, 116, 116, 116, 116, 121, 122, 122, - 122, 122, 122, 122, 122, 122, 122, 122, 116, 116, - 116, 116, 116, 116, 116, 123, 123, 123, 123, 123, + 114, 114, 114, 114, 114, 114, 114, 107, 116, 116, + 117, 116, 116, 118, 119, 116, 120, 116, 116, 116, + 116, 116, 121, 122, 122, 122, 116, 116, 116, 123, + 123, 123, 123, 123, 124, 125, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 116, 124, 116, 116, 125, 116, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, + 123, 123, 123, 123, 123, 123, 116, 127, 128, 127, + 127, 128, 127, 410, 257, 129, 257, 258, 129, 258, [truncated at 1000 lines; 14189 more skipped]
19 years
1
0
0
0
← Newer
1
...
44
45
46
47
48
49
50
...
59
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Results per page:
10
25
50
100
200