예제 #1
0
STDMETHODIMP HandleQTMocFile(LPCTSTR szSrcFile, KHandlerParam* pParam)
{
	union
	{
		TCHAR szSrcFileAbs[_MAX_PATH];
		TCHAR szObjFile[_MAX_PATH];
	};
	
	try	// check depency
	{
		if (
			MergePath(szSrcFileAbs, pParam->szProjPath, szSrcFile) == S_OK &&
			IsQTMocFile(szSrcFileAbs)
			)
		{
			TCHAR fname[_MAX_FNAME];
			SplitPath(szSrcFile, NULL, NULL, fname, NULL);
			_tcsecpy(
				_tcsecpy(
					_tcsecpy(szObjFile, _T("$(ObjectDir)/")), fname), _T(".moc.o")
				);
			_ftprintf(pParam->fpDest, g_szComileMocFmt, szObjFile, szSrcFile);
			AddString(pParam->pObjList, szObjFile);			
		}
	}
	catch(...)
	{
		ASSERT(FALSE);
	}
	
	return S_OK;
}
예제 #2
0
//========================================================
// Name   : _SetString
// Desc   : put string of (psz~end) on ps string
// Param  : trim - will be trim?
// Return : 
//--------------------------------------------------------
// Coder    Date                      Desc
// bro      2002-10-29
//========================================================
void _SetString( LPTSTR psz, LPTSTR end, HM::String* ps, bool trim = FALSE, int escape = 0 )
{
	//trim
	if( trim )
	{
		while( psz && psz < end && _istspace(*psz) ) psz++;
		while( (end-1) && psz < (end-1) && _istspace(*(end-1)) ) end--;
	}
	int len = end - psz;
	if( len <= 0 ) return;
	if( escape )
	{
		len = _tcselen( escape, psz, end );
		LPTSTR pss = ps->GetBufferSetLength( len );
		_tcsecpy( pss, escape, psz, end );
      ps->ReleaseBuffer();
	}
	else
	{
      //varför öka på strängens längd med ett här?!
      LPTSTR pss = ps->GetBufferSetLength( (len + 1) * sizeof(TCHAR)) ;
		memcpy( pss, psz, len * sizeof(TCHAR) );
      ps->ReleaseBuffer();
	}
}
예제 #3
0
파일: gendeffile.c 프로젝트: axxapp/winxgui
// 功能:按照以下规则生成默认文件名:
//	1) 如果 szPath = '/' 或者 nil, 则 失败。
//  2) 如果 szPath = '~/workspace/Tools/MakeGen', szExt = '.prj', 则
//			szDefaultFile = ~/workspace/Tools/MakeGen/MakeGen.prj
//			szPath = 'tcc', 则
//			szDefaultFile = tcc/tcc.prj
STDMETHODIMP GenDefaultFile(LPTSTR szDestFile, LPCTSTR szPath, LPCTSTR szExt)
{
	HRESULT hr;
	LPTSTR psz;
	TCHAR szPathName[_MAX_PATH];

	hr = GetPathName(szPathName, szPath);
	if (hr != S_OK)
		return hr;

	psz = _tcsecpy(szDestFile, szPath);
	if (psz[-1] != '/' && psz[-1] != '\\')
	{
		*psz++ = '/';
	}

	_tcsecpy(
		_tcsecpy(psz, szPathName), szExt
		);

	return S_OK;
}
예제 #4
0
파일: searchpath.c 프로젝트: axxapp/winxgui
STDMETHODIMP_(BOOL) IsFileExist2(LPTSTR szFile)
{
    LPTSTR p = _tcsrchr(szFile, '\0');
    LPTSTR p2 = _tcsecpy(p, PLATEXT);

    _tcscpy(p2, BITSEXT);
    if (IsFileExist(szFile))
        return TRUE;

    *p2 = '\0';
    if (IsFileExist(szFile))
        return TRUE;

    *p = '\0';
    return IsFileExist(szFile);
}