use QUuid instead of calling libuuid directly.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1073104
This commit is contained in:
Volker Lanz 2010-01-11 16:06:14 +00:00
parent 949c6c6018
commit 26e7f9d7ef
4 changed files with 6 additions and 18 deletions

View File

@ -36,7 +36,6 @@ find_package(KDE4 REQUIRED)
find_package(MSGFMT REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(UUID REQUIRED uuid)
pkg_check_modules(BLKID REQUIRED blkid)
find_package(LIBPARTED REQUIRED)

View File

@ -8,11 +8,6 @@ libparted: Either get it from http://www.gnu.org/software/parted/download.shtml
and build it yourself or, preferably, install your distribution's packages
(don't forget the dev-package).
libuuid: This is part of e2fsprogs, something you will most probably need
anyway. Get the source and build it from
http://sourceforge.net/project/showfiles.php?group_id=2406 or, preferably,
install your distribution's packages (again, don't forget the dev-package).
libblkid: Part of the util-linux-ng project available at
http://userweb.kernel.org/~kzak/util-linux-ng/.

View File

@ -30,9 +30,9 @@
#include <QString>
#include <QStringList>
#include <QFile>
#include <QUuid>
#include <ctime>
#include <uuid/uuid.h>
#include <algorithm>
namespace FS
@ -157,15 +157,14 @@ namespace FS
bool ntfs::updateUUID(Report& report, const QString& deviceNode) const
{
char uuid[16];
uuid_generate(reinterpret_cast<unsigned char*>(uuid));
QUuid uuid = QUuid::createUuid();
ExternalCommand cmd(report, "dd", QStringList() << "of=" + deviceNode << "bs=1" << "count=8" << "seek=72");
if (!cmd.start())
return false;
if (cmd.write(uuid, 8) != 8)
if (cmd.write(reinterpret_cast<char*>(&uuid.data4[0]), 8) != 8)
return false;
return cmd.waitFor(-1);

View File

@ -25,8 +25,7 @@
#include <QString>
#include <QStringList>
#include <QRegExp>
#include <uuid/uuid.h>
#include <QUuid>
namespace FS
{
@ -151,11 +150,7 @@ namespace FS
bool reiserfs::updateUUID(Report& report, const QString& deviceNode) const
{
unsigned char uuid[16];
uuid_generate(uuid);
char uuid_ascii[37];
uuid_unparse(uuid, uuid_ascii);
return ExternalCommand(report, "reiserfstune", QStringList() << "-u" << uuid_ascii << deviceNode).run(-1);
const QString uuid = QUuid::createUuid().toString().remove(QRegExp("\\{|\\}"));
return ExternalCommand(report, "reiserfstune", QStringList() << "-u" << uuid << deviceNode).run(-1);
}
}