亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qtemporaryfile.cpp

?? QT 開發環境里面一個很重要的文件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qplatformdefs.h"#include "qtemporaryfile.h"#include "qabstractfileengine.h"#include "private/qfile_p.h"#include "private/qabstractfileengine_p.h"#include "private/qfsfileengine_p.h"#include <stdlib.h>#include <errno.h>#include <sys/stat.h>#include <sys/types.h>#include <stdlib.h>#include <time.h>#include <ctype.h>#include <sys/types.h>#ifdef Q_OS_WIN#include <process.h>#if defined(_MSC_VER) && _MSC_VER >= 1400#include <share.h>#endif#endif/* * Copyright (c) 1987, 1993 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */static int _gettemp(char *path, int *doopen, int domkdir, int slen){	char *start, *trv, *suffp;	struct stat sbuf;	int rval;#ifdef Q_OS_WIN    int pid;#else	pid_t pid;#endif	if (doopen && domkdir) {		errno = EINVAL;		return(0);	}	for (trv = path; *trv; ++trv)		;	trv -= slen;	suffp = trv;	--trv;	if (trv < path) {		errno = EINVAL;		return (0);	}#if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400        pid = _getpid();#else        pid = getpid();#endif	while (trv >= path && *trv == 'X' && pid != 0) {		*trv-- = (pid % 10) + '0';		pid /= 10;        }#ifndef S_ISDIR#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)#endif        while (trv >= path && *trv == 'X') {            char c;            // CHANGE arc4random() -> random()            pid = (qrand() & 0xffff) % (26+26);		if (pid < 26)			c = pid + 'A';		else			c = (pid - 26) + 'a';		*trv-- = c;	}	start = trv + 1;	/*	 * check the target directory; if you have six X's and it	 * doesn't exist this runs for a *very* long time.	 */	if (doopen || domkdir) {		for (;; --trv) {			if (trv <= path)				break;			if (*trv == '/') {				*trv = '\0';				rval = stat(path, &sbuf);				*trv = '/';				if (rval != 0)					return(0);				if (!S_ISDIR(sbuf.st_mode)) {					errno = ENOTDIR;					return(0);				}				break;			}		}	}	for (;;) {		if (doopen) {#if defined(Q_OS_WIN) && defined(_MSC_VER) && _MSC_VER >= 1400                        if (_sopen_s(doopen, path, O_CREAT|O_EXCL|O_RDWR|O_BINARY, _SH_DENYNO, _S_IREAD | _S_IWRITE)== 0)#else                        if ((*doopen =                            open(path, O_CREAT|O_EXCL|O_RDWR#  if defined(Q_OS_WIN)                                 |O_BINARY#  endif                                 , 0600)) >= 0)#endif				return(1);			if (errno != EEXIST)				return(0);		} else if (domkdir) {#ifdef Q_OS_WIN                    if (QT_MKDIR(path) == 0)#else                    if (mkdir(path, 0700) == 0)#endif				return(1);			if (errno != EEXIST)				return(0);            }#ifndef Q_OS_WIN            else if (lstat(path, &sbuf))			return(errno == ENOENT ? 1 : 0);#endif		/* tricky little algorwwithm for backward compatibility */		for (trv = start;;) {			if (!*trv)				return (0);			if (*trv == 'Z') {				if (trv == suffp)					return (0);				*trv++ = 'a';			} else {				if (isdigit(*trv))					*trv = 'a';				else if (*trv == 'z')	/* inc from z to A */					*trv = 'A';				else {					if (trv == suffp)						return (0);					++*trv;				}				break;			}		}	}	/*NOTREACHED*/}static int qt_mkstemps(char *path, int slen){	int fd;	return (_gettemp(path, &fd, 0, slen) ? fd : -1);}//************* QTemporaryFileEngineclass QTemporaryFileEngine : public QFSFileEngine{    Q_DECLARE_PRIVATE(QFSFileEngine)public:    QTemporaryFileEngine(const QString &file) : QFSFileEngine(file) { }    ~QTemporaryFileEngine();    bool open(QIODevice::OpenMode flags);    bool remove();    bool close();};QTemporaryFileEngine::~QTemporaryFileEngine(){}bool QTemporaryFileEngine::open(QIODevice::OpenMode){    Q_D(QFSFileEngine);    QString qfilename = d->file;    if(!qfilename.contains(QLatin1String("XXXXXX")))        qfilename += QLatin1String(".XXXXXX");    int suffixLength = qfilename.length() - (qfilename.lastIndexOf(QLatin1String("XXXXXX"), -1, Qt::CaseSensitive) + 6);    d->closeFileHandle = true;    char *filename = qstrdup(qfilename.toLocal8Bit());    d->fd = qt_mkstemps(filename, suffixLength);    if(d->fd != -1) {        d->file = QString::fromLocal8Bit(filename); //changed now!        delete [] filename;        d->sequential = 0;        return true;    }    delete [] filename;    setError(errno == EMFILE ? QFile::ResourceError : QFile::OpenError, qt_error_string(errno));    return false;}bool QTemporaryFileEngine::remove(){    Q_D(QFSFileEngine);    // Since the QTemporaryFileEngine::close() does not really close the file,    // we must explicitly call QFSFileEngine::close() before we remove it.    QFSFileEngine::close();    bool removed = QFSFileEngine::remove();    d->file.clear();    return removed;}bool QTemporaryFileEngine::close(){    // Don't close the file, just seek to the front.    seek(0);    setError(QFile::UnspecifiedError, QString());    return true;}//************* QTemporaryFilePrivateclass QTemporaryFilePrivate : public QFilePrivate{    Q_DECLARE_PUBLIC(QTemporaryFile)protected:    QTemporaryFilePrivate();    ~QTemporaryFilePrivate();    bool autoRemove;    QString templateName;    mutable QTemporaryFileEngine *fileEngine;};QTemporaryFilePrivate::QTemporaryFilePrivate() : autoRemove(true), fileEngine(0){}QTemporaryFilePrivate::~QTemporaryFilePrivate(){    delete fileEngine;    fileEngine = 0;}//************* QTemporaryFile/*!    \class QTemporaryFile    \reentrant    \brief The QTemporaryFile class is an I/O device that operates on temporary files.    \ingroup io

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区播放老司机| 最新国产の精品合集bt伙计| 国产色产综合色产在线视频| 亚洲一区二区在线播放相泽| 国产精品18久久久久久久久久久久| 一本色道亚洲精品aⅴ| 日韩午夜三级在线| 午夜亚洲国产au精品一区二区| 成人性生交大片免费看中文| 欧美一级二级三级乱码| 一区二区三区中文免费| a级精品国产片在线观看| 欧美刺激午夜性久久久久久久| 亚洲一卡二卡三卡四卡无卡久久| av亚洲精华国产精华精| 国产婷婷色一区二区三区| 蜜桃视频在线一区| 制服丝袜一区二区三区| 亚洲专区一二三| 一本大道久久a久久综合婷婷| 国产欧美一区二区精品婷婷| 国产一区欧美二区| 日韩欧美123| 乱一区二区av| 精品免费国产一区二区三区四区| 亚洲伦理在线免费看| 色综合天天综合狠狠| 国产精品美女久久福利网站| 国产成人免费视频网站| 26uuu色噜噜精品一区二区| 麻豆成人av在线| 欧美一区二区性放荡片| 石原莉奈在线亚洲二区| 欧美群妇大交群的观看方式| 亚洲第一搞黄网站| 在线播放日韩导航| 日本欧美一区二区在线观看| 欧美一区午夜精品| 久久精品国产成人一区二区三区| 欧美电影免费观看高清完整版在| 奇米亚洲午夜久久精品| 日韩久久久精品| 国产毛片精品国产一区二区三区| 欧美精品一区二区三区高清aⅴ | 国产精品一品二品| 久久精品水蜜桃av综合天堂| 国产成人亚洲综合a∨婷婷图片| 久久久综合九色合综国产精品| 国产suv精品一区二区三区| 中文字幕日韩av资源站| 在线欧美日韩国产| 日韩经典中文字幕一区| 精品欧美乱码久久久久久| 国产精品影视在线观看| 国产精品超碰97尤物18| 在线亚洲免费视频| 亚洲成人中文在线| 久久午夜国产精品| 色综合久久88色综合天天免费| 亚洲大片精品永久免费| 久久亚洲精品小早川怜子| 91在线视频免费91| 免费日韩伦理电影| 亚洲欧美综合另类在线卡通| 欧美高清激情brazzers| 国产精品一区二区久久精品爱涩 | 午夜精品久久久久久不卡8050| 欧美一级日韩免费不卡| 成人污视频在线观看| 亚洲成av人片| 久久久久99精品国产片| 欧美视频日韩视频在线观看| 国产在线视频不卡二| 一区二区久久久久| 精品播放一区二区| 欧美在线不卡视频| 国产精品1区2区3区| 亚洲国产日韩精品| 中文字幕在线观看不卡| 精品国产免费久久| 欧美亚洲国产一区在线观看网站| 精品一区二区久久久| 亚洲一卡二卡三卡四卡| 国产精品沙发午睡系列990531| 欧美精品电影在线播放| 91在线云播放| 国产成人精品午夜视频免费| 蜜桃一区二区三区在线观看| 一区二区欧美精品| 自拍偷拍国产精品| 久久精品人人做| 日韩一区二区三区电影| 欧美三级三级三级| 91麻豆国产在线观看| 国产成人午夜片在线观看高清观看| 日韩不卡一二三区| 亚洲成人精品在线观看| 亚洲精品v日韩精品| 国产精品全国免费观看高清| 2024国产精品| 欧美大胆人体bbbb| 日韩精品一区二区三区老鸭窝| 欧美日产在线观看| 欧美色精品天天在线观看视频| 欧美日韩国产另类一区| 91在线porny国产在线看| 粉嫩一区二区三区性色av| 卡一卡二国产精品| 久久av中文字幕片| 激情偷乱视频一区二区三区| 蜜桃精品视频在线| 久久国产精品免费| 麻豆成人av在线| 狠狠色综合日日| 狠狠色2019综合网| 九九视频精品免费| 国产麻豆午夜三级精品| 国产成人av一区二区三区在线| 国产麻豆日韩欧美久久| 国产一区二区福利视频| 国产精品一区不卡| 成人免费毛片片v| 91玉足脚交白嫩脚丫在线播放| 99国产精品国产精品久久| 色噜噜狠狠一区二区三区果冻| 一本一道综合狠狠老| 在线精品亚洲一区二区不卡| 欧美日韩在线免费视频| 欧美精品精品一区| 久久人人97超碰com| 中文字幕不卡的av| 亚洲综合小说图片| 五月婷婷色综合| 紧缚捆绑精品一区二区| 国产成人一区在线| 91官网在线免费观看| 欧美片网站yy| 久久久精品国产免费观看同学| 国产精品网友自拍| 亚洲国产一区二区三区| 久久99久久99精品免视看婷婷| 成人自拍视频在线观看| 色狠狠av一区二区三区| 欧美一级日韩不卡播放免费| 久久精品综合网| 亚洲国产日韩综合久久精品| 老司机免费视频一区二区三区| 成人免费不卡视频| 欧美日本在线播放| 国产欧美中文在线| 亚洲444eee在线观看| 国产精品一二三区| 91福利社在线观看| xnxx国产精品| 亚洲成人激情av| 国产精品中文字幕日韩精品 | 国内精品久久久久影院薰衣草| 成人免费va视频| 欧美一区二区三区小说| 国产精品久久久久久久蜜臀| 日韩精品一级中文字幕精品视频免费观看| 激情小说欧美图片| 欧美色综合网站| 久久精品在线观看| 日韩av不卡一区二区| 成人免费看片app下载| 日韩西西人体444www| 亚洲激情图片小说视频| 久88久久88久久久| 欧美日韩中文精品| 国产精品区一区二区三| 国产一区二区视频在线| 欧美日韩和欧美的一区二区| 久久精品一区二区三区av| 日本一不卡视频| 欧美日韩一区二区在线观看视频| 国产欧美日韩三级| 久久成人18免费观看| 欧美日韩激情一区二区三区| 亚洲视频一区二区在线观看| 国产成人一区二区精品非洲| 亚洲同性同志一二三专区| 激情文学综合丁香| 这里只有精品99re| 亚洲成在人线在线播放| 在线视频欧美精品| 亚洲欧美色图小说| 成人18视频在线播放| 日韩女优视频免费观看| 日本欧美一区二区| 欧美男人的天堂一二区| 午夜伊人狠狠久久| 欧美日韩一区国产| 亚洲444eee在线观看| 欧美系列一区二区| 亚洲国产日韩精品| 欧美老肥妇做.爰bbww| 亚洲成人三级小说| 91精品一区二区三区久久久久久| 亚洲高清久久久|