(file) Return to DirWindows.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/DirWindows.cpp between version 1.1 and 1.20

version 1.1, 2001/04/11 00:34:03 version 1.20, 2008/12/02 09:00:46
Line 1 
Line 1 
 //BEGIN_LICENSE  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000 The Open Group, BMC Software, Tivoli Systems, IBM  // Licensed to The Open Group (TOG) under one or more contributor license
   // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
   // this work for additional information regarding copyright ownership.
   // Each contributor licenses this file to you under the OpenPegasus Open
   // Source License; you may not use this file except in compliance with the
   // License.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a // Permission is hereby granted, free of charge, to any person obtaining a
 // copy of this software and associated documentation files (the "Software"), // copy of this software and associated documentation files (the "Software"),
Line 9 
Line 14 
 // and/or sell copies of the Software, and to permit persons to whom the // and/or sell copies of the Software, and to permit persons to whom the
 // Software is furnished to do so, subject to the following conditions: // Software is furnished to do so, subject to the following conditions:
 // //
 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  // The above copyright notice and this permission notice shall be included
 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  // in all copies or substantial portions of the Software.
 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL  
 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING  
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER  
 // DEALINGS IN THE SOFTWARE.  
 // //
 //END_LICENSE  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 //BEGIN_HISTORY  // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 // Author:  //////////////////////////////////////////////////////////////////////////
 // //
 // $Log$  //%/////////////////////////////////////////////////////////////////////////////
 // Revision 1.1  2001/04/11 00:34:03  mike  
 // more porting  
 //  
 // Revision 1.1  2001/02/11 05:42:33  mike  
 // new  
 //  
 // Revision 1.1.1.1  2001/01/14 19:50:23  mike  
 // Pegasus import  
 //  
 //  
 //END_HISTORY  
  
 #include "Destroyer.h"  
 #include "Dir.h" #include "Dir.h"
 #include "Exception.h"  #include "InternalException.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 #include <io.h>  
 #include <direct.h> #include <direct.h>
  
 struct DirRep  
 {  
     long file;  
     struct _finddata_t findData;  
 };  
  
 Dir::Dir(const String& path) Dir::Dir(const String& path)
 { {
     Destroyer<char> p(strcat(path.allocateCString(2), "/*"));      _dirRep.file = _findfirst((path+"/*").getCString(), &_dirRep.findData);
     _rep = new DirRep;  
     _rep->file = _findfirst(p.getPointer(), &_rep->findData);  
  
     if (_rep->file == -1)      if (_dirRep.file == -1)
     {     {
         _more = false;         _more = false;
         throw CannotOpenDirectory(path);         throw CannotOpenDirectory(path);
Line 67 
Line 52 
  
 Dir::~Dir() Dir::~Dir()
 { {
     if (_rep->file != -1)      if (_dirRep.file != -1)
         _findclose(_rep->file);          _findclose(_dirRep.file);
  
     delete _rep;  
 } }
  
 const char* Dir::getName() const const char* Dir::getName() const
 { {
     return _rep->findData.name;      return _dirRep.findData.name;
 } }
  
 void Dir::next() void Dir::next()
Line 83 
Line 67 
     if (!_more)     if (!_more)
         return;         return;
  
     _more = _findnext(_rep->file, &_rep->findData) == 0;      _more = _findnext(_dirRep.file, &_dirRep.findData) == 0;
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.20

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2