+2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
+ be deterministic.
+ (syndroms): Compute 0 syndrom.
+ (rs_recover): Use 0 syndrom.
+
2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
int i;
grub_uint8_t cur = 1;
+ gf_powx_inv[0] = 0;
for (i = 0; i < 255; i++)
{
gf_powx[i] = cur;
{
gf_single_t xn = 1;
unsigned i;
- for (i = 0; i < rs; i++)
+ sy[0] = pol_evaluate (m, s + rs - 1, xn);
+ for (i = 1; i < rs; i++)
{
if (xn & (1 << (GF_SIZE - 1)))
{
#endif
for (j = 0; j < errnum; j++)
- eq[j] = errpot[j];
+ eq[j] = 1;
eq[errnum] = sy[0];
for (i = 1; i < (int) rs; i++)
{
out = fopen ("tst_rs.bin", "wb");
fwrite (buf, 1, s + rs, out);
fclose (out);
-#if 0
+#if 1
grub_memset (buf + 512 * 15, 0, 512);
#endif