Ejemplo n.º 1
0
BOOL LogToDbName(const char *log_name, char *db_name, BOOL isAlt=FALSE)
{
	char	*fname=NULL;

	if (!GetFullPathNameU8(log_name, MAX_PATH_U8, db_name, &fname) || !fname) {
		return FALSE;
	}

//	char *ext = strchr(fname, '.');
//	if (ext) {
//		if (!strcmpi(ext, ".db")) {
//			return	FALSE;
//		}
//	}
//	else {
//		ext = fname + strlen(fname);
//	}
//
//	strcpy(ext, ".db");

	strcpy(fname, IPMSG_LOGDBNAME);


	return	TRUE;
}
Ejemplo n.º 2
0
Archivo: cfg.cpp Proyecto: glukki/ipmsg
Cfg::Cfg(Addr _nicAddr, int _portNo)
{
	nicAddr = _nicAddr;
	portNo = _portNo;

	AbsenceHead = NULL;
	AbsenceStr = NULL;
	FindStr = NULL;

	int	abs_ids[]  = { IDS_DEFABSENCE1, IDS_DEFABSENCE2, IDS_DEFABSENCE3, IDS_DEFABSENCE4, IDS_DEFABSENCE5, IDS_DEFABSENCE6, IDS_DEFABSENCE7, IDS_DEFABSENCE8, 0 };
	for (int i=0; abs_ids[i] && i < sizeof(DefaultAbsence) / sizeof(char *); i++) {
		DefaultAbsence[i] = GetLoadStrU8(abs_ids[i]);
	}

	int	absh_ids[] = { IDS_DEFABSENCEHEAD1, IDS_DEFABSENCEHEAD2, IDS_DEFABSENCEHEAD3, IDS_DEFABSENCEHEAD4, IDS_DEFABSENCEHEAD5, IDS_DEFABSENCEHEAD6, IDS_DEFABSENCEHEAD7, IDS_DEFABSENCEHEAD8, 0 };
	for (int i=0; absh_ids[i] && i < sizeof(DefaultAbsenceHead) / sizeof(char *); i++) {
		DefaultAbsenceHead[i] = GetLoadStrU8(absh_ids[i]);
	}

	char	buf[MAX_PATH_U8], path[MAX_PATH_U8], *fname = NULL;
	GetModuleFileNameU8(NULL, buf, MAX_PATH_U8);
	GetFullPathNameU8(buf, MAX_PATH_U8, path, &fname);
	fname[-1] = 0; // remove '\\'
	execDir = strdup(path);
}
Ejemplo n.º 3
0
void LogMng::StrictLogFile(char *logFile)
{
	if (logFile[0] == 0) {
		return;
	}
	if (strncmp(logFile, "\\\\", 2) == 0 || logFile[1] == ':') {
		return;
	}

	char	orgPath[MAX_PATH_U8];
	strcpy(orgPath, logFile);

	if (strchr(logFile, '\\') == NULL) {
		if (SHGetSpecialFolderPathU8(0, logFile, CSIDL_MYDOCUMENTS, FALSE)) {
			AddPathU8(logFile, IP_MSG);
			AddPathU8(logFile, orgPath);
			return;
		}
	}

	char	*tmp=NULL;
	GetFullPathNameU8(orgPath, MAX_PATH_U8, logFile, &tmp);

	return;
}
Ejemplo n.º 4
0
BOOL MakeImageFolder(Cfg *cfg, char *dir)
{
    char	*fname = NULL;

    if (!GetFullPathNameU8(cfg->LogFile, MAX_PATH_U8, dir, &fname) && fname) return FALSE;
    strcpy(fname, IPMSG_CLIPBOARD_STOREDIR);
    return	TRUE;
}
Ejemplo n.º 5
0
/*
	パスからファイル名部分だけを取り出す
*/
BOOL PathToFname(const char *org_path, char *target_fname)
{
    char	path[MAX_BUF], *fname=NULL;

    if (GetFullPathNameU8(org_path, sizeof(path), path, &fname) == 0 || fname == NULL)
        return	FALSE;

    strncpyz(target_fname, fname, MAX_PATH_U8);
    return	TRUE;
}
Ejemplo n.º 6
0
BOOL OpenFileDlg::Exec(char *target, int targ_size, char *title, char *filter, char *defaultDir,
						char *defaultExt)
{
	if (targ_size <= 1) return FALSE;

	OPENFILENAME	ofn;
	U8str			fileName(targ_size);
	U8str			dirName(targ_size);
	char			*fname = NULL;

	if (*target && GetFullPathNameU8(target, targ_size, dirName.Buf(), &fname) != 0 && fname) {
		*(fname -1) = 0;
		strncpyz(fileName.Buf(), fname, targ_size);
	}
	else if (defaultDir) {
		strncpyz(dirName.Buf(), defaultDir, targ_size);
	}

	memset(&ofn, 0, sizeof(ofn));
	ofn.lStructSize = sizeof(OPENFILENAME);
	ofn.hwndOwner = parent ? parent->hWnd : NULL;
	ofn.lpstrFilter = filter;
	ofn.nFilterIndex = filter ? 1 : 0;
	ofn.lpstrFile = fileName.Buf();
	ofn.lpstrDefExt	 = defaultExt;
	ofn.nMaxFile = targ_size;
	ofn.lpstrTitle = title;
	ofn.lpstrInitialDir = dirName.Buf();
	ofn.lpfnHook = hook;
	ofn.Flags = OFN_HIDEREADONLY|OFN_EXPLORER|(hook ? OFN_ENABLEHOOK : 0);
	if (mode == OPEN || mode == MULTI_OPEN)
		ofn.Flags |= OFN_FILEMUSTEXIST | (mode == MULTI_OPEN ? OFN_ALLOWMULTISELECT : 0);
	else
		ofn.Flags |= (mode == NODEREF_SAVE ? OFN_NODEREFERENCELINKS : 0);
	ofn.Flags |= flags;

	U8str	dirNameBak(targ_size);
	GetCurrentDirectoryU8(targ_size, dirNameBak.Buf());

	BOOL	ret = (mode == OPEN || mode == MULTI_OPEN) ?
					GetOpenFileNameU8(&ofn) : GetSaveFileNameU8(&ofn);

	SetCurrentDirectoryU8(dirNameBak.Buf());
	if (ret) {
		if (mode == MULTI_OPEN) {
			memcpy(target, fileName.Buf(), targ_size);
		} else {
			strncpyz(target, ofn.lpstrFile, targ_size);
		}

		if (defaultDir) strncpyz(defaultDir, ofn.lpstrFile, ofn.nFileOffset);
	}

	return	ret;
}
Ejemplo n.º 7
0
/*
	親ディレクトリ取得(必ずフルパスであること。UNC対応)
*/
BOOL GetParentDirU8(const char *srcfile, char *dir)
{
	char	path[MAX_BUF], *fname=NULL;

	if (GetFullPathNameU8(srcfile, sizeof(path), path, &fname) == 0 || fname == NULL)
		return	strcpy(dir, srcfile), FALSE;

	if (fname - path > 3 || path[1] != ':')
		*(fname - 1) = 0;
	else
		*fname = 0;		// C:\ の場合

	strcpy(dir, path);
	return	TRUE;
}
Ejemplo n.º 8
0
/*
	2byte文字系でもきちんと動作させるためのルーチン
	 (*strrchr(path, "\\")=0 だと '表'などで問題を起すため)
*/
BOOL PathToDir(const char *org_path, char *target_dir)
{
    char	path[MAX_BUF], *fname=NULL;

    if (GetFullPathNameU8(org_path, sizeof(path), path, &fname) == 0 || fname == NULL)
        return	strncpyz(target_dir, org_path, MAX_PATH_U8), FALSE;

    if (fname - path > 3 || path[1] != ':')
        *(fname - 1) = 0;
    else
        *fname = 0;		// C:\ の場合

    strncpyz(target_dir, path, MAX_PATH_U8);
    return	TRUE;
}
Ejemplo n.º 9
0
BOOL OpenFileDlg::Exec(char *target, char *title, char *filter, char *defaultDir)
{
	OPENFILENAME	ofn;
	char			szDirName[MAX_BUF_EX] = "", szFile[MAX_BUF_EX] = "", *fname = NULL;

	if (*target && GetFullPathNameU8(target, MAX_BUF, szDirName, &fname) != 0 && fname)
		*(fname -1) = 0, strncpyz(szFile, fname, MAX_PATH_U8);
	else if (defaultDir)
		strncpyz(szDirName, defaultDir, MAX_PATH_U8);

	memset(&ofn, 0, sizeof(ofn));
	ofn.lStructSize = sizeof(OPENFILENAME);
	ofn.hwndOwner = parent ? parent->hWnd : NULL;
	ofn.lpstrFilter = filter;
	ofn.nFilterIndex = filter ? 1 : 0;
	ofn.lpstrFile = szFile;
	ofn.nMaxFile = sizeof(szFile);
	ofn.lpstrTitle = title;
	ofn.lpstrInitialDir = szDirName;
	ofn.lpfnHook = hook;
	ofn.Flags = OFN_HIDEREADONLY|OFN_EXPLORER|(hook ? OFN_ENABLEHOOK : 0);
	if (mode == OPEN || mode == MULTI_OPEN)
		ofn.Flags |= OFN_FILEMUSTEXIST | (mode == MULTI_OPEN ? OFN_ALLOWMULTISELECT : 0);
	else
		ofn.Flags |= (mode == NODEREF_SAVE ? OFN_NODEREFERENCELINKS : 0);

	char	dirNameBak[MAX_PATH_U8];
	GetCurrentDirectoryU8(sizeof(dirNameBak), dirNameBak);

	BOOL	ret = (mode == OPEN || mode == MULTI_OPEN) ?
					GetOpenFileNameU8(&ofn) : GetSaveFileNameU8(&ofn);

	SetCurrentDirectoryU8(dirNameBak);
	if (ret) {
		if (mode == MULTI_OPEN)
			memcpy(target, szFile, sizeof(szFile));
		else
			strncpyz(target, ofn.lpstrFile, MAX_PATH_U8);

		if (defaultDir)
			strncpyz(defaultDir, ofn.lpstrFile, ofn.nFileOffset);
	}

	return	ret;
}