Commit Graph

55 Commits

Author SHA1 Message Date
Curtis Gedak 4a8fef9822 Fix ISO C++ ambiguity compiler warning
Enhance code to pass compiler warning.  Prior to this change the
compiler would complain with the following message:

error: ISO C++ says that these are ambiguous, even though the worst
conversion for the first is better than the worst conversion for the
second: /usr/include/c++/4.5/bits/postypes.h:192:7: note: candidate 1:
std::fpos<_StateT> std::fpos<_StateT>::operator-(std::streamoff) const
[with _StateT = __mbstate_t, std::fpos<_StateT> =
std::fpos<__mbstate_t>, std::streamoff = long int] Utils.cc:443:27:
note: candidate 2: operator-(std::streamoff, long long int) <built-in>
2011-07-18 13:31:54 -06:00
Seth Heeren 82fcb1ef0b Simplified cleanup_cursor() implementation
I hit this performance bug when I cloneda 40G NTFS partition. The actual
copy was done in under 11 minutes. After that I was shocked to find that
gparted would spend over 12 minutes in cleanup_cursor, pegging a CPU
core. (On a quad core desktop...)

Simply replacing the ustring with std::string would reduce the time to
about 1.5 minutes. Still bad. Also, I didn't want to lose UTF8
awareness.

So I rewrote the algorithm in 'streaming mode'. This has the (potential)
drawback that locale conversions are done, but performs well and
- IMHO - is a lot more readable.

On a minor note: this implementation correctly handles backspaces at the
start of a line.
2011-03-27 10:37:08 -06:00
Curtis Gedak ba28423e76 Remove one level of quoting when spawning commands
Change spawn_command_line_sync to spawn_sync to reduce the level of
quoting required when passing commands to the function.  Since
spawn_command_line_sync uses the parent's environment, the replacement
call also uses the parent's environment.

This change permits unmounting of file systems mounted with an
apostrophe in the mount point name.

Ubuntu launchpad bug 151796 - Can't unmount partition with apostrophe
                              in label
https://bugs.launchpad.net/ubuntu/+source/gparted/+bug/151796
2011-03-19 11:25:04 -06:00
Joan Lledó ef37bdb7de Added support to lost data recovery using gpart 2011-01-29 14:58:02 -07:00
Curtis Gedak b0e36132b0 Make btrfs support a normal part of gparted
Remove need to configure with the --enable-btrfs option in order
to include btrfs support in gparted.
2010-10-18 15:28:40 -06:00
Curtis Gedak 08c78ba19d Add translator comments requested in bug #631684 2010-10-12 18:14:30 -06:00
Seth Heeren e61b5ff240 leaked regular expression (regfree not called) 2010-10-05 12:54:55 -06:00
Luca Bruno 5765eb870c Use Btrfs handlers, if enabled at configure time
GParted already has basic support only to recognize Btrfs volumes; if
configured, use our newer methods to handle them.
Also, put in place interface controls for all supported generic actions.
2010-10-03 17:00:53 +02:00
Curtis Gedak cb08e8c7dd Remove 512 byte based units and rename _FACTOR to BYTE
With the removal of the 512 byte constants, such as MEBIBYTE, it
was possible to rename the _FACTOR constants back to BYTE
constants.  The _FACTOR constants, such as MEBI_FACTOR, were a
temporary measure to help in the transition to support devices
with sector sizes > 512 bytes.
2010-04-26 13:40:38 -06:00
Curtis Gedak 44e5176ee5 Enhance format_size() for sector sizes > 512 bytes 2010-03-24 14:37:08 -06:00
Curtis Gedak 1aa81bba94 Enhance sector_to_unit() for sector sizes > 512 bytes 2010-03-24 14:37:08 -06:00
Curtis Gedak 260e0ea190 Fix bug when copying huge NTFS partition never finishes (#575324)
Improved logic in cleanup_cursor method to minimize the number of
string erase operations performed.

Previously when the NTFS copy finished, GParted would take an
exceptionally long time to clean up the output.  This was due to
the huge number of small string erase operations performed on a
extremely large string.
2010-03-01 13:56:05 -07:00
Curtis Gedak 20f5c6f83b Clean up code for old bug #157871
Remove commented code and boolean use-C-lang parameter for
Utils::num_to_str() method because this bug was fixed in
gcc-4.0.3.  The GNU gcc compiler versions 4 and up are now
commonly in use.  Also due to previous partial commenting and
removal of the code, the code was non-functional

Thanks goes to Jan Claeys for pointing out this clean up
opportunity.
2010-01-02 15:04:30 -07:00
Curtis Gedak 8cfb27b718 Cleanup file copyright entries
Restore copyright entries by original author to those of his last
known repository commit titled "released gparted-0.3.4 on
LarryT's request." on Feb 25, 2007.

Add my own copyright entries for files in which I changed source
code.  Files in which I only made spelling changes do not have my
copyright entry added.
2009-11-05 11:08:49 -07:00
Curtis Gedak dd8a57a8fe Remove requirement for xxd and dd for NTFS move or paste action
Perform direct update of Number of Hidden Sectors in NTFS boot record.
This change removes the need for /usr/bin/xxd and /bin/dd.
Related to GParted bug #574389
2009-05-16 12:15:14 -06:00
Curtis Gedak f164e78153 Require xxd and dd for NTFS move or paste action
Related to GParted bug #574389
2009-05-14 14:59:49 -06:00
Curtis Gedak dbf81bc417 Removed file_exists() method. Glib::file_test() already exists and is available for use.
svn path=/trunk/; revision=1091
2009-03-13 14:17:22 +00:00
Curtis Gedak 2390671112 Added tokenize() and file_exists() methods
svn path=/trunk/; revision=1090
2009-03-12 19:37:12 +00:00
Curtis Gedak dc1ab54d8f Added detection of btrfs file system
svn path=/trunk/; revision=1075
2009-02-23 20:22:30 +00:00
Curtis Gedak 3ef0293876 Added detection of LUKS encrypted partitions
svn path=/trunk/; revision=1071
2009-02-18 16:19:49 +00:00
Curtis Gedak 8a1fb683d0 Added e2fsprogs version required for ext4 support
svn path=/trunk/; revision=1019
2009-01-01 00:09:04 +00:00
Curtis Gedak 8a1760928f Fixed application crash when saving details and locale not set
svn path=/trunk/; revision=1012
2008-12-21 18:55:10 +00:00
Curtis Gedak 533eb1bc03 Added support for ext4 file systems
svn path=/trunk/; revision=1005
2008-12-18 22:13:43 +00:00
Curtis Gedak 4ef71e5004 Added lvm2 physical volume detection
svn path=/trunk/; revision=1000
2008-12-07 18:43:35 +00:00
Curtis Gedak 4370af8779 Added text selectable parameter to mk_label()
svn path=/trunk/; revision=996
2008-12-03 18:18:04 +00:00
Curtis Gedak 506c062274 Created method get_filesystem_software()
svn path=/trunk/; revision=965
2008-11-14 19:45:14 +00:00
Curtis Gedak 352641208a Added fat_compliant_label() method to limit volume labels to 11 characters.
Enforced fat compliant label for FAT16 and FAT32 file systems.

svn path=/trunk/; revision=959
2008-11-11 00:14:57 +00:00
Curtis Gedak e9c44ad13e Increased robustness of get_lang() function
svn path=/trunk/; revision=940
2008-10-24 15:48:25 +00:00
Curtis Gedak 6a28b6810a Created function get_lang() to retrieve language locale
svn path=/trunk/; revision=935
2008-10-16 19:58:14 +00:00
Curtis Gedak dbccd477cf Fixed display problem with percent complete messages
svn path=/trunk/; revision=895
2008-09-04 16:36:14 +00:00
Curtis Gedak ff2a6c00dd Changes post gparted-0.3.6 - code recreation from Source Forge
svn path=/trunk/; revision=811
2008-04-07 20:10:28 +00:00
Curtis Gedak 8d808c0b62 gparted-0.3.6 - code recreation from Source Forge
svn path=/trunk/; revision=810
2008-04-07 19:41:18 +00:00
Bart Hakvoort 5631232ee1 catch markup exceptions cleanups
2006-08-24 Bart Hakvoort <hakvoort@cvs.gnome.org>

* src/OperationDetail.cc: catch markup exceptions
* src/Utils.cc: cleanups
2006-08-24 19:29:28 +00:00
Bart Hakvoort 8abc8bf2e5 added format_time() keep track of elapsed time between STATUS_EXECUTE and
* include/Utils.h,
  src/Utils.cc: added format_time()
* include/OperationDetail.h,
  src/OperationDetail.cc: keep track of elapsed time between
  STATUS_EXECUTE and STATUS_[ERROR|SUCCES]
* include/Dialog_Progress.h,
  src/Dialog_Progress.cc: show elapsed time in the details per (sub)
  process
* src/GParted_Core.cc: use Utils::format_time()
2006-08-22 19:29:59 +00:00
Bart Hakvoort 82e6f6b132 added nice -n 19, so that all extensive filesystemoperations will be
* src/FileSystem.cc: added nice -n 19, so that all extensive
  filesystemoperations will be 'nice' :)
* src/OperationDetail.cc,
  src/Utils.cc: cleanups
2006-08-21 19:59:48 +00:00
Bart Hakvoort 7f187d644c added column 'check' use halproperty 'storage.automount_enabled_hint'
* include/Dialog_Filesystems.h,
  src/Dialog_Filesystems.cc: added column 'check'
* include/GParted_Core.h,
  src/GParted_Core.cc: use halproperty
  'storage.automount_enabled_hint' instead of pmount to disable
  automounting.
2006-04-03 18:48:53 +00:00
Bart Hakvoort dcf31ca083 added convenience function cleanups
* include/Utils.h,
  src/Utils.cc: added convenience function
* src/DialogManageFlags.cc,
  src/Win_GParted.cc: cleanups
2006-04-02 13:04:24 +00:00
Bart Hakvoort f96c8dea05 trivial cleanups
* trivial cleanups
2006-03-28 12:40:29 +00:00
Bart Hakvoort c3c5f189ed fixed a few issues with selecting/activating partitions. improved support
* include/DrawingAreaVisualDisk.h,
  src/DrawingAreaVisualDisk.cc: fixed a few issues with
  selecting/activating partitions.
* include/Utils.h,
  src/Utils.cc,
  src/Dialog_Disklabel.cc,
  src/Dialog_Partition_Info.cc (mk_label): improved support for
  aligment.
* src/Win_GParted.cc: fixed a small alignmentissue in the devices
  submenu.
2006-03-20 10:12:55 +00:00
Bart Hakvoort 85e9ddbf48 moved comment to correct position fixed issues with mountpoints containing
* src/GParted_Core.cc: moved comment to correct position
* src/Win_GParted.cc: fixed issues with mountpoints containing
  underscores and/or spaces.
2006-03-17 10:07:49 +00:00
Bart Hakvoort 6d8b169e73 changed the way devices and partitions store their devicepaths. Instead of
* changed the way devices and partitions store their devicepaths.
  Instead of holding a 'realpath' and a symbolic path we store paths
  in a list. This allows for improved detection of mountpoins, free
  space, etc..

  Also fixed a nasty bug which showed up when you copy a partition
  from one device to another. (thanks to mario for the report)
2006-03-14 21:37:47 +00:00
Bart Hakvoort 391ca32a2b in some places i still used MiB's instead of sectors to store sizes. this
* in some places i still used MiB's instead of sectors to store sizes.
  this has been fixed everywhere. Only the spinbuttons still use
  MiB's. I have a few ideas on how to solve this, but i'll take it up
  with #usability first.
2006-02-25 10:09:30 +00:00
Bart Hakvoort f6b01f342f added FIXME cleanups (mostly messagebox related) added some more
* include/Utils.h: added FIXME
* include/Win_GParted.h,
  src/Win_GParted.cc: cleanups (mostly messagebox related)
* src/GParted_Core.cc: added some more progressfeedback to create and
  resize
2006-02-17 21:18:07 +00:00
Bart Hakvoort 828d7a9e5b wrap mount/umount/swapon/swapoff instead of implementing it ourselves
* wrap mount/umount/swapon/swapoff instead of implementing it
  ourselves (#330641)
* moved execute_command() to Utils and made the filesystems use it. All
  in all this decreased the size of the binary with 10% and made stuff
  more readable.
2006-02-15 16:05:26 +00:00
Bart Hakvoort 392f5c94f1 fixed small bug in unmount() check if error actually contains data before
* src/Utils.cc: fixed small bug in unmount()
* src/jfs.cc,
  src/xfs.cc: check if error actually contains data before adding it
  to the feedbackdata. (this prevents empty rows in the operationtree)
2006-01-28 22:40:29 +00:00
Bart Hakvoort 06cab31e44 fixed small issue with mounting. (discovered on the livecd)
* include/Utils.h,
  src/Utils.cc,
  src/jfs.cc,
  src/xfs.cc: fixed small issue with mounting. (discovered on the
  livecd)
2006-01-25 14:50:26 +00:00
Bart Hakvoort 669f0654d8 use realpath() to get absolute path to 'real' /etc/mtab. unmount if
* src/Utils.cc: use realpath() to get absolute path to 'real'
  /etc/mtab.
  unmount if something went wrong while adding the line to '/etc/mtab'
* src/Dialog_Progress.cc: replaced PACK_SHRINK with PACK_EXPAND_WIDGET
2006-01-24 16:41:36 +00:00
Bart Hakvoort 7d4b6a2eea :sector_to_unit() and use it in several places fixed errors with
* implemented Utils::sector_to_unit() and use it in several places
* (finally) fixed errors with ntfsresizing (had a lot to do with
  difference between MB and MiB)
* resizing of reiserfs now shows more detailed feedback
* support for TebiByte (TiB) unit
2006-01-22 00:07:27 +00:00
Bart Hakvoort 2b509a8332 //www.iec.ch/zone/si/si_bytes.htm
* changed KB/MB/GB/TB to KiB/MiB/GiB/TiB after reading http://www.iec.ch/zone/si/si_bytes.htm
2006-01-20 23:35:06 +00:00
Bart Hakvoort f9ab3cdd3c commented 'ss .imbue( std::locale( "" ) )' (#157871) cleanups allow forced
* src/Utils.cc: commented 'ss .imbue( std::locale( "" ) )' (#157871)
* src/Win_GParted.cc,
  src/TreeView_Detail.cc,
  src/Dialog_Base_Partition.cc: cleanups
* include/Dialog_Partition_New.h,
  include/Partition.h,
  src/Dialog_Partition_New.cc,
  src/GParted_Core.cc,
  src/Partition.cc: allow forced partitionsizes (aka: do not round to
  cylinder). (#169486)
2006-01-07 15:04:42 +00:00