summaryrefslogtreecommitdiffstats
path: root/ark/arkutils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ark/arkutils.cpp')
-rw-r--r--ark/arkutils.cpp230
1 files changed, 0 insertions, 230 deletions
diff --git a/ark/arkutils.cpp b/ark/arkutils.cpp
deleted file mode 100644
index 52049d0..0000000
--- a/ark/arkutils.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-
- $Id$
-
- ark -- archiver for the KDE project
-
- Copyright (C)
-
- 2002: Helio Chissini de Castro <[email protected]>
- 2001: Corel Corporation (author: Michael Jarrett, [email protected])
- 1999-2000: Corel Corporation (author: Emily Ezust, [email protected])
- 1999: Francois-Xavier Duranceau [email protected]
- 1997-1999: Rob Palmbos [email protected]
- 2003: Hans Petter Bieker <[email protected]>
-
- 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.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-*/
-
-#include <config.h>
-
-// C includes
-#include <stdlib.h>
-#include <time.h>
-
-#include <errno.h>
-#include <sys/param.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <unistd.h>
-#include <config.h>
-
-#ifdef _HPUX_SOURCE
-#include <sys/vfs.h>
-#endif
-
-// for statfs:
-#ifdef BSD4_4
-#include <sys/mount.h>
-#elif defined(__linux__)
-#include <sys/vfs.h>
-#elif defined(__sun)
-#include <sys/statvfs.h>
-#define STATFS statvfs
-#elif defined(_AIX)
-#include <sys/statfs.h>
-#endif
-
-#ifndef STATFS
-#define STATFS statfs
-#endif
-
-// KDE includes
-#include <kdebug.h>
-#include <kmessagebox.h>
-#include <klocale.h>
-#include <klargefile.h>
-
-// TQt includes
-#include <tqfile.h>
-
-#include "arkutils.h"
-
-TQString ArkUtils::getTimeStamp(const TQString &_month,
- const TQString &_day,
- const TQString &_yearOrTime)
-{
- // Make the date format sortable.
- // Month is in _month, day is in _day.
- // In _yearOrTime is either a year or a time.
- // If it's March, we'll see the year for all dates up to October 1999.
- // (five months' difference - e.g., if it's Apr, then get years up to Nov)
-
- char month[4];
- strncpy(month, _month.ascii(), 3);
- month[3] = '\0';
- int nMonth = getMonth(month);
- int nDay = _day.toInt();
-
- kdDebug(1601) << "Month is " << nMonth << ", Day is " << nDay << endl;
-
- time_t t = time(0);
- if (t == -1)
- exit(1);
- struct tm *now = localtime(&t);
- int thisYear = now->tm_year + 1900;
- int thisMonth = now->tm_mon + 1;
-
- TQString year, timestamp;
-
- if (_yearOrTime.contains(":"))
- // it has a timestamp so we have to figure out the year
- {
- year.sprintf("%d", ArkUtils::getYear(nMonth, thisYear, thisMonth));
- timestamp = _yearOrTime;
- }
- else
- {
- year = _yearOrTime;
- if (year.right(1) == " ")
- year = year.left(4);
- if (year.left(1) == " ")
- year = year.right(4);
-
- timestamp = "??:??";
- }
-
- TQString retval;
- retval.sprintf("%s-%.2d-%.2d %s",
- year.utf8().data(), nMonth, nDay,
- timestamp.utf8().data());
- return retval;
-}
-
-int ArkUtils::getMonth(const char *strMonth)
- // returns numeric value for three-char month string
-{
- static char months[13][4] = { "", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
- "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
- int nIndex;
- for (nIndex = 1; nIndex < 13; ++nIndex)
- {
- if (0 == strcmp(strMonth, months[nIndex]))
- return nIndex;
- }
- return 0;
-}
-
-// This function gets the year from an LHA or ls -l timestamp.
-// Note: LHA doesn't seem to display the year if the file is more
-// than 6 months into the future, so this will fail to give the correct
-// year (of course it is hoped that there are not too many files lying
-// around from the future).
-
-int ArkUtils::getYear(int theMonth, int thisYear, int thisMonth)
-{
- int monthDiff = TQABS(thisMonth - theMonth);
- if (monthDiff > 6)
- return (thisYear - 1);
- else
- return thisYear;
-}
-
-TQString ArkUtils::fixYear(const TQString& strYear)
-{
- // returns 4-digit year by guessing from two-char year string.
- // Remember: this is used for file timestamps. There probably aren't any
- // files that were created before 1970, so that's our cutoff. Of course,
- // in 2070 we'll have some problems....
-
- if ( strYear.length() != 2 ) return strYear;
-
- bool ok;
- int y = strYear.toInt( &ok );
-
- if ( ok )
- {
- if ( y > 70 )
- y += 1900;
- else
- y += 2000;
-
- return TQString::number( y );
- }
- else
- return TQString();
-}
-
-bool
-ArkUtils::haveDirPermissions( const TQString &strFile )
-{
- return ( access( TQFile::encodeName( strFile ), W_OK ) == 0 );
-}
-
-bool
-ArkUtils::diskHasSpace(const TQString &dir, TDEIO::filesize_t size)
- // check if disk has enough space to accommodate (a) new file(s) of
- // the given size in the partition containing the given directory
-{
- kdDebug( 1601 ) << "diskHasSpace() " << "dir: " << dir << " Size: " << size << endl;
-
- struct STATFS buf;
- if (STATFS(TQFile::encodeName(dir), &buf) == 0)
- {
- double nAvailable = (double)buf.f_bavail * buf.f_bsize;
- if ( nAvailable < (double)size )
- {
- KMessageBox::error(0, i18n("You have run out of disk space."));
- return false;
- }
- }
- else
- {
- // something bad happened
- kdWarning( 1601 ) << "diskHasSpace() failed" << endl;
- // Q_ASSERT(0);
- }
- return true;
-}
-
-TDEIO::filesize_t
-ArkUtils::getSizes(TQStringList *list)
-{
- TDEIO::filesize_t sum = 0;
- TQString str;
- KDE_struct_stat st;
-
- for ( TQStringList::Iterator it = list->begin(); it != list->end(); ++it)
- {
- str = *it;
- str = str.right(str.length()-5);
- if (KDE_stat(TQFile::encodeName(str), &st ) < 0)
- continue;
- sum += st.st_size;
- }
- return sum;
-}