Пример #1
0
/* Load svchost group specified on the command line via the /k option */
int wmain(int argc, WCHAR *argv[])
{
    int option_index;

    WINE_TRACE("\n");

    for (option_index = 1; option_index < argc; option_index++)
    {
        if (lstrcmpiW(argv[option_index], ks) == 0 ||
                lstrcmpiW(argv[option_index], kd) == 0)
        {
            ++option_index;
            if (option_index >= argc)
            {
                WINE_ERR("Must specify group to initialize\n");
                return 0;
            }
            if (!LoadGroup(argv[option_index]))
            {
                WINE_ERR("Failed to load requested group: %s\n",
                        wine_dbgstr_w(argv[option_index]));
                return 0;
            }
        }
        else
        {
            WINE_FIXME("Unrecognized option: %s\n",
                    wine_dbgstr_w(argv[option_index]));
            return 0;
        }
    }

    return 0;
}
Пример #2
0
bool CTextFileLoader::Load(const char * c_szFileName)
{
	m_strFileName = c_szFileName;

	m_dwcurLineIndex = 0;

	FILE* fp = fopen(c_szFileName, "rb");

	if (NULL == fp)
		return false;

	fseek(fp, 0L, SEEK_END);
	const size_t fileSize = ftell(fp);
	fseek(fp, 0, SEEK_SET);

	char * pData = M2_NEW char[fileSize];
	fread(pData, fileSize, 1, fp);
	fclose(fp);

	m_fileLoader.Bind(fileSize, pData);
	M2_DELETE_ARRAY(pData);

	LoadGroup(&m_globalNode);
	return true;
}
Пример #3
0
struct GroupData *ServerDB::GroupDB::GenerateGroup() const {
    struct GroupData *ret = new struct GroupData();
    ret->UID = GenerateUID();

    LoadGroup(ret, GetPreferences());

    return ret;

}
Пример #4
0
/* only 1 or zero is valid, more than 1 is an error */
bool kGUIDBRecord::Loadz(const char *tablename,kGUIDbQuery *q)
{
    m_unique=false;
    m_keyname.Clear();
    m_key.Clear();

    LoadGroup(tablename,q);
    assert(m_numentries<2,"Error: Too many matching records, use LoadGroup");
    return(m_numentries==1);
}
Пример #5
0
ee::SprPtr LoadFromPSD::LoadItem(const Json::Value& value, const std::string& dir, int tw, int th)
{
	std::string type = value["type"].asString();
	if (type == "layer") {
		return LoadLayer(value, dir, tw, th);
	} else if (type == ee::SYM_GROUP_TAG) {
		return LoadGroup(value, dir, tw, th);
	} else {
		return NULL;
	}
}
Пример #6
0
bool TextureGroupHandler::Load(const char *fn)
{
	CfgList *cfg = CfgValue::LoadFile (fn);

	if (!cfg) 
		return false;

	for (list<CfgListElem>::iterator li = cfg->childs.begin(); li != cfg->childs.end(); ++li) {
		CfgList *gc = dynamic_cast<CfgList*>(li->value);
		if (!gc) continue;

		LoadGroup (gc);
	}

	delete cfg;
	return true;
}
Пример #7
0
void kGUIDBRecord::LoadGroup(const char *tablename,const char *keyname,const char *key,const char *sort)
{
    kGUIDbQuery *q;

    m_keyname.SetString(keyname);
    if(key)
        m_key.SetString(key);

    m_unique=false;
    if(strlen(keyname) && key)
    {
        if(sort)
            q=new kGUIDbQuery(m_db,"SELECT * from %s WHERE %s='%s' ORDER BY %s",tablename,keyname,key,sort);
        else
            q=new kGUIDbQuery(m_db,"SELECT * from %s WHERE %s='%s'",tablename,keyname,key);
    }
    else
        q=new kGUIDbQuery(m_db,"SELECT * from %s",tablename);
    LoadGroup(tablename,q);
    delete q;
}
Пример #8
0
int _CRTAPI1 main(
    int argc,
    char *argv[],
    char *envp[])
{
    char *s, *s1;
    PGROUP_DEF Group32;
    PGROUP_DEF16 Group16;
    BOOL bDumpConvertedGroup;
    HKEY PersonalGroupsKey;
    HKEY CommonGroupsKey;
    DWORD rc;
    FILE *fh;
    LONG ValueLength;
    char Group32Name[ MAX_PATH ];
    char Group32FileName[ MAX_PATH ];


    s = "Program Groups";
    rc = RegOpenKey( HKEY_CURRENT_USER, s, &PersonalGroupsKey );
    if (rc != 0) {
        fprintf( stderr, "DUMPGRP: Unable to open %s key.\n", s );
        PersonalGroupsKey = NULL;
        }

    s = "Software\\Program Groups";
    rc = RegOpenKey( HKEY_LOCAL_MACHINE, s, &CommonGroupsKey );
    if (rc != 0) {
        fprintf( stderr, "DUMPGRP: Unable to open %s key.\n", s );
        CommonGroupsKey = NULL;
        }

    bDumpConvertedGroup = FALSE;
    while (--argc) {
        s = *++argv;
        _strupr( s );
        if (!strcmp( s, "-C" ) || !strcmp( s, "/C" )) {
            bDumpConvertedGroup = TRUE;
            }
        else
        if (Group32 = LoadGroup( PersonalGroupsKey, s )) {
            DumpGroup( s, FALSE, Group32 );
            UnloadGroup( Group32 );
            }
        else
        if (Group32 = LoadGroup( CommonGroupsKey, s )) {
            DumpGroup( s, TRUE, Group32 );
            UnloadGroup( Group32 );
            }
        else
        if (Group16 = LoadGroup16( s )) {
            DumpGroup16( s, Group16 );
            if (bDumpConvertedGroup) {
                strcpy( Group32Name, PTR( Group16, Group16->pName ) );
                strcat( Group32Name, " (16-bit)" );
                Group32 = CreateGroupFromGroup16( Group32Name, Group16 );
                if (Group32 != NULL) {
                    DumpGroup( Group32Name, FALSE, Group32 );
                    s1 = strstr( strcpy( Group32FileName, s ), ".GRP" );
                    strcpy( s1, ".G32" );
                    fh = fopen( Group32FileName, "wb" );
                    if (fh != NULL) {
                        ValueLength = (LONG)((ULONG)Group32->wReserved);
                        Group32->wReserved = 0;
                        Group32->wCheckSum = (WORD)-ValueLength;
                        fwrite( Group32, ValueLength, 1, fh );
                        fclose( fh );
                        }
                    else {
                        fprintf( stderr, "DUMPGRP: Unable to create 32 bit group file - %s\n", Group32FileName );
                        }

                    UnloadGroup( Group32 );
                    }
                else {
                    fprintf( stderr, "DUMPGRP: Unable to convert %s from 16 to 32-bits\n", s );
                    }
                }

            UnloadGroup16( Group16 );
            }
        else {
            fprintf( stderr, "DUMPGRP: %s is not a valid group file.\n", s );
            }
        }


    return 0;
}
Пример #9
0
bool CTextFileLoader::LoadGroup(TGroupNode * pGroupNode)
{
	TTokenVector stTokenVector;
	for (; m_dwcurLineIndex < m_fileLoader.GetLineCount(); ++m_dwcurLineIndex)
	{
		if (!m_fileLoader.SplitLine(m_dwcurLineIndex, &stTokenVector))
			continue;

		stl_lowers(stTokenVector[0]);

		if ('{' == stTokenVector[0][0])
			continue;

		if ('}' == stTokenVector[0][0])
			break;

		// Group
		if (0 == stTokenVector[0].compare("group"))
		{
			if (2 != stTokenVector.size())
			{
				sys_err("Invalid group syntax token size: %u != 2 (DO NOT SPACE IN NAME)", stTokenVector.size());
				for (unsigned int i = 0; i < stTokenVector.size(); ++i)
					sys_err("  %u %s", i, stTokenVector[i].c_str());
				exit(1);
				continue;
			}

			TGroupNode * pNewNode = ms_groupNodePool.Alloc();
			pNewNode->pParentNode = pGroupNode;
			pNewNode->strGroupName = stTokenVector[1];
			stl_lowers(pNewNode->strGroupName);
			pGroupNode->ChildNodeVector.push_back(pNewNode);

			++m_dwcurLineIndex;

			LoadGroup(pNewNode);
		}
		// List
		else if (0 == stTokenVector[0].compare("list"))
		{
			if (2 != stTokenVector.size())
			{
				assert(!"There is no list name!");
				continue;
			}

			TTokenVector stSubTokenVector;

			stl_lowers(stTokenVector[1]);
			std::string key = stTokenVector[1];
			stTokenVector.clear();

			++m_dwcurLineIndex;
			for (; m_dwcurLineIndex < m_fileLoader.GetLineCount(); ++m_dwcurLineIndex)
			{
				if (!m_fileLoader.SplitLine(m_dwcurLineIndex, &stSubTokenVector))
					continue;

				if ('{' == stSubTokenVector[0][0])
					continue;

				if ('}' == stSubTokenVector[0][0])
					break;

				for (DWORD j = 0; j < stSubTokenVector.size(); ++j)
				{
					stTokenVector.push_back(stSubTokenVector[j]);
				}
			}

			pGroupNode->LocalTokenVectorMap.insert(std::make_pair(key, stTokenVector));
		}
		else
		{
			std::string key = stTokenVector[0];

			if (1 == stTokenVector.size())
			{
				sys_err("CTextFileLoader::LoadGroup : must have a value (filename: %s line: %d key: %s)",
						m_strFileName.c_str(),
						m_dwcurLineIndex,
						key.c_str());
				break;
			}

			stTokenVector.erase(stTokenVector.begin());
			pGroupNode->LocalTokenVectorMap.insert(std::make_pair(key, stTokenVector));
		}
	}

	return true;
}