无忧启动论坛
标题:
行数变动导致patch-chinese.diff有2处fail
[打印本页]
作者:
tobeme2
时间:
2012-3-17 21:37
标题:
行数变动导致patch-chinese.diff有2处fail
使用graphicsmode+unifont.hex.gz怎么也没fontfile反应快,
即便用上小字库(难道是我心理作用?:P),于是最终决定自己打补丁编译.
patch时有两处fail了,看了下,是新版的行号改变导致的.
两处都是stage2.c文件grub_sprintf的翻译部分,并不影响使用.
手工编辑了一下,重新使用diff生成了patch,上传到这里.
管理员检测后有空更新到源里吧.
patch-chinese.diff.diff
--- patch-chinese.diff.org 2012-03-17 00:14:28.531250000 +0800
+++ patch-chinese.diff 2012-03-17 20:16:30.593750000 +0800
@@ -30,7 +30,7 @@
===================================================================
--- grub4dos-chs/stage2/stage2.c (revision 244)
+++ grub4dos-chs/stage2/stage2.c (working copy)
-@@ -138,6 +138,12 @@
+@@ -143,6 +143,12 @@
static void
print_default_help_message (char *config_entries)
{
@@ -43,7 +43,7 @@
grub_printf ("\n Use the %c and %c keys to highlight an entry.",
(unsigned long)(unsigned char)DISP_UP, (unsigned long)(unsigned char)DISP_DOWN);
-@@ -153,18 +159,38 @@
+@@ -158,18 +164,38 @@
}
#endif
#endif
@@ -87,7 +87,7 @@
}
default_help_message_destoyed = 0;
-@@ -643,8 +669,14 @@
+@@ -661,8 +687,14 @@
/* Print a message. */
if (! silent_hiddenmenu)
{
@@ -104,7 +104,7 @@
}
}
}
-@@ -736,7 +768,12 @@
+@@ -760,7 +792,12 @@
print_default_help_message (config_entries);
if (current_term->flags & TERM_DUMB)
@@ -116,21 +116,22 @@
+#endif
+ grub_printf ("\n\nThe selected entry is %d ", entryno);
else
- print_entries (first_entry, entryno, menu_entries, config_entries);
+ print_entries (first_entry, entryno, menu_entries);
}
-@@ -783,6 +820,11 @@
+@@ -806,7 +843,11 @@
+ unsigned char tmp_buf[512];
unsigned char *p;
unsigned char ch = ' ';
-
+-
+#ifdef SUPPORT_GRAPHICS
+ if (graphics_inited && ushFontReaded && graphics_mode <= 0xFF)
-+ grub_sprintf (tmp_buf, " 高亮选中的条目将会自动运行于 %d 秒之后。 ", grub_timeout);
++ grub_sprintf ((char*)tmp_buf, " 高亮选中的条目将会自动运行于 %d 秒之后。 ", grub_timeout);
+ else
+#endif
- grub_sprintf (tmp_buf, " The highlighted entry will be booted automatically in %d seconds.", grub_timeout);
+ grub_sprintf ((char*)tmp_buf, " The highlighted entry will be booted automatically in %d seconds.", grub_timeout);
gotoxy (0, MENU_BOX_B + 5);
p = tmp_buf;
-@@ -812,7 +854,14 @@
+@@ -836,7 +877,14 @@
since we're comming in here also on GRUB_TIMEOUT == -1 and
hang in GETKEY */
if (current_term->flags & TERM_DUMB)
@@ -143,9 +144,10 @@
+#endif
+ grub_printf ("\r Highlighted entry is %d: ", entryno);
+ }
-
- c = /*ASCII_CHAR*/ (getkey ());
-
+ #ifndef GRUB_UTIL
+ if (config_entries && hotkey_func)
+ {
+
Index: grub4dos-chs/stage2/graphics.c
===================================================================
--- grub4dos-chs/stage2/graphics.c (revision 244)
复制代码
这是patch时的rej文件:
stage2.c.rej.gz
(591 Bytes, 下载次数: 24)
2012-3-17 21:37 上传
点击文件名下载附件
stage2.c.rej
下载积分: 无忧币 -2
这是新旧补丁的diff文件:
patch-chinese.diff.diff.gz
(1.12 KB, 下载次数: 20)
2012-3-17 21:37 上传
点击文件名下载附件
patch-chinese.diff.diff
下载积分: 无忧币 -2
这是修改后无错误的patch文件:
patch-chinese.diff.gz
(20.18 KB, 下载次数: 13)
2012-3-17 21:37 上传
点击文件名下载附件
patch-chinese.diff
下载积分: 无忧币 -2
[
本帖最后由 tobeme2 于 2012-3-18 18:18 编辑
]
作者:
chenall
时间:
2012-3-18 11:47
不打算更新,即使这次改了,下次还是会出现这样的情况,维护起来很麻烦的说(以前为了保证这个补丁可以使用,每次修改都得小心尽量不影响),而且也不实用。
我的建议是不要在内核中使用FONTFILE命令,而应该采用外部命令。
目前已经有FONTFILE外部命令,只需要稍微修改就可以适应最新版本的GRUB4DOS。
记得主要是setxy和getxy的变动。可以自己找一下相关的资料。论坛上之前的提到过的。
[
本帖最后由 chenall 于 2012-3-18 19:16 编辑
]
作者:
tobeme2
时间:
2012-3-18 18:18
哦,原来有外部命令.
作者:
不点
时间:
2012-3-19 13:41
开发者已经放弃了的东西,如果任何人觉得不应该放弃,那么他都可以另外开辟一个项目,并独立维护。
举例来说,grub4dos 本身就是继续开发已经被放弃了的 grub legacy 的。
这是自由的。
放弃者,不是错。
继续开发者,也不是错。
这叫做 “ 不同的选择、不同的路线、不同的理念 ”。
总之,没有 “ 对 ” 与 “ 错 ” 之分。
欢迎光临 无忧启动论坛 (http://wuyou.net./)
Powered by Discuz! X3.3