From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1LWgLK-0001YG-Bx for mharc-grub-devel@gnu.org; Mon, 09 Feb 2009 19:19:14 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LWgLI-0001Xu-Kr for grub-devel@gnu.org; Mon, 09 Feb 2009 19:19:12 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LWgLH-0001Wt-5V for grub-devel@gnu.org; Mon, 09 Feb 2009 19:19:12 -0500 Received: from [199.232.76.173] (port=39754 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LWgLH-0001Wl-1X for grub-devel@gnu.org; Mon, 09 Feb 2009 19:19:11 -0500 Received: from ey-out-1920.google.com ([74.125.78.149]:29891) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LWgLG-0006Ai-Jk for grub-devel@gnu.org; Mon, 09 Feb 2009 19:19:10 -0500 Received: by ey-out-1920.google.com with SMTP id 4so266225eyg.24 for ; Mon, 09 Feb 2009 16:19:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer; bh=gKh5F0pcTkDeOCzqHi+IiihN4qhNfll1FDIIOsdM4/c=; b=Uad1sq58FFzxFdscEI3vXMk38DV9U04BG/Mla725R+U+bzxCVnMwHo63zOPJOQe04Z NOZC82pLqb1OksP01tlo7byDGDWqrRWG3YzsrJImgZWApGQbVXUQw9oBJXBqwZJjIw28 sJkrk3Hip5HNuj9rtR4IMzUV9XgDwrki11XGY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer; b=htlz7SvNDEoVTbFL/xp6+rJO+fQsrFjwpRURN52o+3Fi/TSD4VMNPKP++eCNV0sQ/m uXgq0ld4XqjA3iXGlAI59p9oUkFb0KSpZME5BmglN+h0Nt0khdmeGYopZ7HN4yGaqTwF lrcn3U6lfzXmz4WPVg9tmBrSyCjHb9AMmJgtY= Received: by 10.210.28.4 with SMTP id b4mr1590862ebb.82.1234225148186; Mon, 09 Feb 2009 16:19:08 -0800 (PST) Received: from ?192.168.1.102? (213.37.137.93.dyn.user.ono.com [213.37.137.93]) by mx.google.com with ESMTPS id t12sm2265503gvd.20.2009.02.09.16.19.07 (version=SSLv3 cipher=RC4-MD5); Mon, 09 Feb 2009 16:19:07 -0800 (PST) From: Javier =?ISO-8859-1?Q?Mart=EDn?= To: The development of GRUB 2 Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-Jpuhz7+n2TWNxKmcNgmX" Date: Tue, 10 Feb 2009 01:19:20 +0100 Message-Id: <1234225160.10940.25.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.24.3 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: [PATCH] r1986 broke FAT detection X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Feb 2009 00:19:13 -0000 --=-Jpuhz7+n2TWNxKmcNgmX Content-Type: multipart/mixed; boundary="=-Smhkw+fuA1n7GGZwGPHk" --=-Smhkw+fuA1n7GGZwGPHk Content-Type: text/plain Content-Transfer-Encoding: quoted-printable At r1985, "sudo ./grub-probe -t fs -d /dev/fd0" outputs "fat" with a freshly-formatted VFAT floppy in the drive. At r1986, it spits "error: unknown filesystem". The cause is this error, repeated three times: if (! grub_strncmp(something, "FAT12", 5)) goto fail; Strncmp does not return a boolean result (i.e. matches or doesn't), but an _integer_ that is supposed to establish a comparison order between strings. Thus, a return value of 0 is actually a match. See why I insist on treating semantic-ints different than semantic-bools even though the language does not? The correction is obvious (a patch is attached): if (0 !=3D grub_strncmp(something, "FAT12",5)) goto fail; And I remark the 0 !=3D instead of a simple if (strncmp()) test. BTW, I think the "FATx" constants should be made into macros or SLT... Magic constants creep me out. -- Lazy Oblivious, Rational Disaster -- Habbit --=-Smhkw+fuA1n7GGZwGPHk Content-Disposition: attachment; filename="damned_int_bool_identity.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="damned_int_bool_identity.patch"; charset="UTF-8" SW5kZXg6IGZzL2ZhdC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gZnMvZmF0LmMJKHJldmlzaW9uIDE5ODcp DQorKysgZnMvZmF0LmMJKHdvcmtpbmcgY29weSkNCkBAIC0xODcsOSArMTg3LDkgQEANCiAgIGlm IChncnViX2Rpc2tfcmVhZCAoZGlzaywgMCwgMCwgc2l6ZW9mIChicGIpLCAoY2hhciAqKSAmYnBi KSkNCiAgICAgZ290byBmYWlsOw0KIA0KLSAgaWYgKCEgZ3J1Yl9zdHJuY21wKChjb25zdCBjaGFy ICopIGJwYi52ZXJzaW9uX3NwZWNpZmljLmZhdDEyX29yX2ZhdDE2LmZzdHlwZSwgIkZBVDEyIiw1 KQ0KLSAgICAgIHx8ICEgZ3J1Yl9zdHJuY21wKChjb25zdCBjaGFyICopIGJwYi52ZXJzaW9uX3Nw ZWNpZmljLmZhdDEyX29yX2ZhdDE2LmZzdHlwZSwgIkZBVDE2Iiw1KQ0KLSAgICAgIHx8ICEgZ3J1 Yl9zdHJuY21wKChjb25zdCBjaGFyICopIGJwYi52ZXJzaW9uX3NwZWNpZmljLmZhdDMyLmZzdHlw ZSwgIkZBVDMyIiw1KSkNCisgIGlmICgwICE9IGdydWJfc3RybmNtcCgoY29uc3QgY2hhciAqKSBi cGIudmVyc2lvbl9zcGVjaWZpYy5mYXQxMl9vcl9mYXQxNi5mc3R5cGUsICJGQVQxMiIsIDUpDQor ICAgICAgJiYgMCAhPSBncnViX3N0cm5jbXAoKGNvbnN0IGNoYXIgKikgYnBiLnZlcnNpb25fc3Bl Y2lmaWMuZmF0MTJfb3JfZmF0MTYuZnN0eXBlLCAiRkFUMTYiLCA1KQ0KKyAgICAgICYmIDAgIT0g Z3J1Yl9zdHJuY21wKChjb25zdCBjaGFyICopIGJwYi52ZXJzaW9uX3NwZWNpZmljLmZhdDMyLmZz dHlwZSwgIkZBVDMyIiwgNSkpDQogICAgIGdvdG8gZmFpbDsNCiAgIA0KICAgLyogR2V0IHRoZSBz aXplcyBvZiBsb2dpY2FsIHNlY3RvcnMgYW5kIGNsdXN0ZXJzLiAgKi8NCg== --=-Smhkw+fuA1n7GGZwGPHk-- --=-Jpuhz7+n2TWNxKmcNgmX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAABAgAGBQJJkMgBAAoJEKSl+Fbdeo72QrcP/iBAkxai5P0SyXfSw2z3LCiz ZB0aj+4KDXDY4dlN39nGmcYmlPQFjeLtTNkYluZ8QhhqlVXZWmhfcUGmhS+cfKRH EowWFzFbc+7uwipOxBzDyRy6bAIjkHn8uMV2JEEXFO9VCKHJweNY8knb7DRUH8JH aI0VUVvuqjQGoA1jAueiX1FyO+XgAfMMNrk7HUecnT4ByLhPPjnIGg9Og6204W5g KTVGHxSOTkYMaY+fnK4iqkpZi1aFwEkZRtRbef/SgD//GDXnU/aYjqx2ZlZAhlvr ubktCugH43mPXamGm/hIBE7/FHkK3Yn30XPkbU/t9vvnCiT3Z02SwJhWGOjNqJ2O H6M+5inYLVhK1Z0t5HO2FBlSZdO8mt8FngyJ5aESFnscOMNJ3iviJTwYyJhxUj4Z pE2xlI9SHdBCqssOzOSiDT+xfAOkoOapTgRMI8t8a9w8Ms/EJmm+XZYaEqYZ2Mzc yylMzPLe2mLyg32m4L6NZe5UaAKaW0sJ+qnhnJrEiE7Lt0tETedlvTxpHFmp2BFi 4OheEUJvIobdtZhanT3sseMvNC5whnY+uJqjlJoIZCQpA3RXVcCbZ4alrNBIe9h0 WWoPd+iG75wF8OXeEz52wwyQBY1/534n1fajWgyetUkR58C7SZEEO4BsKJS31Lbl mhOKd4vuzGkqbMIFULT7 =ooQl -----END PGP SIGNATURE----- --=-Jpuhz7+n2TWNxKmcNgmX--