From mboxrd@z Thu Jan 1 00:00:00 1970 From: kupcevic@sourceware.org Date: 20 Mar 2007 15:48:30 -0000 Subject: [Cluster-devel] conga/ricci/modules/storage parted_wrapper.cpp Message-ID: <20070320154830.4331.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: conga Branch: RHEL4 Changes by: kupcevic at sourceware.org 2007-03-20 15:48:30 Modified files: ricci/modules/storage: parted_wrapper.cpp Log message: storage module: long long constant int to long long int conversion error? C idiocy Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/storage/parted_wrapper.cpp.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.8.4.1&r2=1.8.4.2 --- conga/ricci/modules/storage/parted_wrapper.cpp 2007/03/09 04:17:56 1.8.4.1 +++ conga/ricci/modules/storage/parted_wrapper.cpp 2007/03/20 15:48:29 1.8.4.2 @@ -594,8 +594,9 @@ long long bbb; list parts = plain_partitions(pt_path, aaa, bbb); - seg_begin = seg_begin / 1000000; - long long seg_end = seg_begin + size / 1000000; + // parted defines 1KB as 1000 bytes + seg_begin = seg_begin / 1000 / 1000; + long long seg_end = seg_begin + size / 1000 / 1000; vector args; args.push_back("-s"); @@ -665,7 +666,7 @@ long long multiplier; // parted defines 1KB as 1000 bytes. if (s.find("b") == s.npos) - multiplier = 1000000; // by old parted behavior, size is in MB + multiplier = 1000 * 1000; // by old parted behavior, size is in MB else { if (s.size() < 3) throw String("parted size has an invalid value: ") + s; @@ -673,11 +674,11 @@ if (s[s.size()-2] == 'k') multiplier = 1000; else if (s[s.size()-2] == 'm') - multiplier = 1000000; + multiplier = 1000 * 1000; else if (s[s.size()-2] == 'g') - multiplier = 1000000000; + multiplier = 1000 * 1000 * 1000; else if (s[s.size()-2] == 't') - multiplier = 1000000000000; + multiplier = 1000 * 1000 * 1000 * 1000; } return (long long) utils::to_float(s) * multiplier;