Files
harbour-core/harbour/contrib/hbzlib/zipplatformcomm.cpp
Enrico Maria Giordano e73934158e 2007-06-02 12:30 UTC+0200 Enrico Maria Giordano (e.m.giordano@emagsoftware.it)
* harbour/contrib/hbzlib
     * replaced with the one borrowed from xharbour, source modifications by Przemek

  * harbour/contrib/hbzlib/makefile
  * harbour/contrib/hbzlib/makefile.bc
  * harbour/contrib/hbzlib/makefile.vc
  * harbour/contrib/hbzlib/zip.c
  * harbour/contrib/hbzlib/include/zipfilemapping.h
  * harbour/contrib/hbzlib/include/zipautobuffer.h
  * harbour/contrib/hbzlib/include/hbzip2.h
    * changed to make contrib/hbzlib working with harbour

  + harbour/contrib/hbzlib/hbcomprs.c
  + harbour/contrib/hbzlib/include/hbcomprs.h
    + added to make contrib/hbzlib working with harbour

  + harbour/contrib/hbzlib/doc
  + harbour/contrib/hbzlib/doc/zipnew.txt
    + added documentation borrowed from xharbour/doc/en

  - harbour/contrib/hbzlib/BccW32.cfg
    - removed unuseful file
2007-06-02 13:32:07 +00:00

50 lines
1.5 KiB
C++

////////////////////////////////////////////////////////////////////////////////
// $Workfile: ZipPlatformComm.cpp $
// $Archive: /ZipArchive/ZipPlatformComm.cpp $
// $Date$ $Author$
////////////////////////////////////////////////////////////////////////////////
// This source file is part of the ZipArchive library source distribution and
// is Copyright 2000-2003 by Tadeusz Dracz (http://www.artpol-software.com/)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// For the licensing details see the file License.txt
////////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "zipplatform.h"
using namespace ZipPlatform;
bool ZipPlatform::DirectoryExists(LPCTSTR lpszDir)
{
CZipString sz;
if (!GetCurrentDirectory(sz))
return false;
if (!ChangeDirectory(lpszDir))
return false;
ChangeDirectory(sz);
return true;
}
bool ZipPlatform::ForceDirectory(LPCTSTR lpDirectory)
{
ASSERT(lpDirectory);
CZipString szDirectory = lpDirectory;
szDirectory.TrimRight(CZipPathComponent::m_cSeparator);
CZipPathComponent zpc(szDirectory);
if ((zpc.GetFilePath() == (LPCTSTR) szDirectory) ||
(FileExists(szDirectory) == -1))
return true;
if (!ForceDirectory(zpc.GetFilePath()))
return false;
if (!CreateDirectory(szDirectory))
return false;
return true;
}