Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dadigang
Ventoy
Commits
c6be35f2
"vscode:/vscode.git/clone" did not exist on "acbd7bd7c5efd17b7061157a5868e28acc04d33e"
Commit
c6be35f2
authored
Apr 24, 2021
by
longpanda
Browse files
Support * fuzzy matching for file path in some plugins
parent
b15a96b7
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
90 additions
and
24 deletions
+90
-24
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
+32
-0
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
+2
-1
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
+56
-23
No files found.
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
View file @
c6be35f2
...
@@ -148,6 +148,38 @@ void ventoy_debug(const char *fmt, ...)
...
@@ -148,6 +148,38 @@ void ventoy_debug(const char *fmt, ...)
va_end
(
args
);
va_end
(
args
);
}
}
int
ventoy_strcmp
(
const
char
*
pattern
,
const
char
*
str
)
{
while
(
*
pattern
&&
*
str
)
{
if
((
*
pattern
!=
*
str
)
&&
(
*
pattern
!=
'*'
))
break
;
pattern
++
;
str
++
;
}
return
(
int
)(
grub_uint8_t
)
*
pattern
-
(
int
)(
grub_uint8_t
)
*
str
;
}
int
ventoy_strncmp
(
const
char
*
pattern
,
const
char
*
str
,
grub_size_t
n
)
{
if
(
n
==
0
)
return
0
;
while
(
*
pattern
&&
*
str
&&
--
n
)
{
if
((
*
pattern
!=
*
str
)
&&
(
*
pattern
!=
'*'
))
break
;
pattern
++
;
str
++
;
}
return
(
int
)(
grub_uint8_t
)
*
pattern
-
(
int
)(
grub_uint8_t
)
*
str
;
}
void
ventoy_debug_dump_guid
(
const
char
*
prefix
,
grub_uint8_t
*
guid
)
void
ventoy_debug_dump_guid
(
const
char
*
prefix
,
grub_uint8_t
*
guid
)
{
{
int
i
;
int
i
;
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
View file @
c6be35f2
...
@@ -527,7 +527,8 @@ typedef struct plugin_entry
...
@@ -527,7 +527,8 @@ typedef struct plugin_entry
ventoy_plugin_check_pf
checkfunc
;
ventoy_plugin_check_pf
checkfunc
;
}
plugin_entry
;
}
plugin_entry
;
int
ventoy_strcmp
(
const
char
*
pattern
,
const
char
*
str
);
int
ventoy_strncmp
(
const
char
*
pattern
,
const
char
*
str
,
grub_size_t
n
);
void
ventoy_fill_os_param
(
grub_file_t
file
,
ventoy_os_param
*
param
);
void
ventoy_fill_os_param
(
grub_file_t
file
,
ventoy_os_param
*
param
);
grub_err_t
ventoy_cmd_isolinux_initrd_collect
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
);
grub_err_t
ventoy_cmd_isolinux_initrd_collect
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
);
grub_err_t
ventoy_cmd_grub_initrd_collect
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
);
grub_err_t
ventoy_cmd_grub_initrd_collect
(
grub_extcmd_context_t
ctxt
,
int
argc
,
char
**
args
);
...
...
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_plugin.c
View file @
c6be35f2
...
@@ -481,6 +481,7 @@ static int ventoy_plugin_auto_install_check(VTOY_JSON *json, const char *isodisk
...
@@ -481,6 +481,7 @@ static int ventoy_plugin_auto_install_check(VTOY_JSON *json, const char *isodisk
{
{
int
pathnum
=
0
;
int
pathnum
=
0
;
int
autosel
=
0
;
int
autosel
=
0
;
char
*
pos
=
NULL
;
const
char
*
iso
=
NULL
;
const
char
*
iso
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
...
@@ -500,9 +501,10 @@ static int ventoy_plugin_auto_install_check(VTOY_JSON *json, const char *isodisk
...
@@ -500,9 +501,10 @@ static int ventoy_plugin_auto_install_check(VTOY_JSON *json, const char *isodisk
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
if
(
iso
)
if
(
iso
)
{
{
if
(
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
pos
=
grub_strchr
(
iso
,
'*'
);
if
(
pos
||
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
{
{
grub_printf
(
"image: %s [
OK
]
\n
"
,
iso
);
grub_printf
(
"image: %s [
%s
]
\n
"
,
iso
,
(
pos
?
"*"
:
"OK"
));
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"template"
,
&
pathnum
);
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"template"
,
&
pathnum
);
if
(
JSON_SUCCESS
==
vtoy_json_get_int
(
pNode
->
pstChild
,
"autosel"
,
&
autosel
))
if
(
JSON_SUCCESS
==
vtoy_json_get_int
(
pNode
->
pstChild
,
"autosel"
,
&
autosel
))
...
@@ -599,6 +601,7 @@ static int ventoy_plugin_auto_install_entry(VTOY_JSON *json, const char *isodisk
...
@@ -599,6 +601,7 @@ static int ventoy_plugin_auto_install_entry(VTOY_JSON *json, const char *isodisk
static
int
ventoy_plugin_dud_check
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
static
int
ventoy_plugin_dud_check
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
{
{
int
pathnum
=
0
;
int
pathnum
=
0
;
char
*
pos
=
NULL
;
const
char
*
iso
=
NULL
;
const
char
*
iso
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
...
@@ -618,9 +621,10 @@ static int ventoy_plugin_dud_check(VTOY_JSON *json, const char *isodisk)
...
@@ -618,9 +621,10 @@ static int ventoy_plugin_dud_check(VTOY_JSON *json, const char *isodisk)
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
if
(
iso
)
if
(
iso
)
{
{
if
(
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
pos
=
grub_strchr
(
iso
,
'*'
);
if
(
pos
||
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
{
{
grub_printf
(
"image: %s [
OK
]
\n
"
,
iso
);
grub_printf
(
"image: %s [
%s
]
\n
"
,
iso
,
(
pos
?
"*"
:
"OK"
)
);
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"dud"
,
&
pathnum
);
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"dud"
,
&
pathnum
);
}
}
else
else
...
@@ -884,6 +888,7 @@ static int ventoy_plugin_pwd_entry(VTOY_JSON *json, const char *isodisk)
...
@@ -884,6 +888,7 @@ static int ventoy_plugin_pwd_entry(VTOY_JSON *json, const char *isodisk)
static
int
ventoy_plugin_pwd_check
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
static
int
ventoy_plugin_pwd_check
(
VTOY_JSON
*
json
,
const
char
*
isodisk
)
{
{
char
*
pos
=
NULL
;
const
char
*
iso
=
NULL
;
const
char
*
iso
=
NULL
;
const
char
*
pwd
=
NULL
;
const
char
*
pwd
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
...
@@ -922,13 +927,14 @@ static int ventoy_plugin_pwd_check(VTOY_JSON *json, const char *isodisk)
...
@@ -922,13 +927,14 @@ static int ventoy_plugin_pwd_check(VTOY_JSON *json, const char *isodisk)
iso
=
vtoy_json_get_string_ex
(
pCNode
->
pstChild
,
"file"
);
iso
=
vtoy_json_get_string_ex
(
pCNode
->
pstChild
,
"file"
);
if
(
iso
)
if
(
iso
)
{
{
if
(
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
pos
=
grub_strchr
(
iso
,
'*'
);
if
(
pos
||
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
{
{
pwd
=
vtoy_json_get_string_ex
(
pCNode
->
pstChild
,
"pwd"
);
pwd
=
vtoy_json_get_string_ex
(
pCNode
->
pstChild
,
"pwd"
);
if
(
0
==
ventoy_plugin_parse_pwdstr
((
char
*
)
pwd
,
NULL
))
if
(
0
==
ventoy_plugin_parse_pwdstr
((
char
*
)
pwd
,
NULL
))
{
{
grub_printf
(
"file:<%s> [
OK
]
\n
"
,
iso
);
grub_printf
(
"file:<%s> [
%s
]
\n
"
,
iso
,
(
pos
?
"*"
:
"OK"
)
);
grub_printf
(
"pwd:<%s>
\n\n
"
,
pwd
);
grub_printf
(
"pwd:<%s>
\n\n
"
,
pwd
);
}
}
else
else
...
@@ -956,6 +962,7 @@ static int ventoy_plugin_persistence_check(VTOY_JSON *json, const char *isodisk)
...
@@ -956,6 +962,7 @@ static int ventoy_plugin_persistence_check(VTOY_JSON *json, const char *isodisk)
{
{
int
autosel
=
0
;
int
autosel
=
0
;
int
pathnum
=
0
;
int
pathnum
=
0
;
char
*
pos
=
NULL
;
const
char
*
iso
=
NULL
;
const
char
*
iso
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
VTOY_JSON
*
pNode
=
NULL
;
...
@@ -975,9 +982,10 @@ static int ventoy_plugin_persistence_check(VTOY_JSON *json, const char *isodisk)
...
@@ -975,9 +982,10 @@ static int ventoy_plugin_persistence_check(VTOY_JSON *json, const char *isodisk)
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
iso
=
vtoy_json_get_string_ex
(
pNode
->
pstChild
,
"image"
);
if
(
iso
)
if
(
iso
)
{
{
if
(
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
pos
=
grub_strchr
(
iso
,
'*'
);
if
(
pos
||
0
==
ventoy_plugin_check_path
(
isodisk
,
iso
))
{
{
grub_printf
(
"image: %s [
OK
]
\n
"
,
iso
);
grub_printf
(
"image: %s [
%s
]
\n
"
,
iso
,
(
pos
?
"*"
:
"OK"
)
);
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"backend"
,
&
pathnum
);
ventoy_plugin_check_fullpath
(
pNode
->
pstChild
,
isodisk
,
"backend"
,
&
pathnum
);
if
(
JSON_SUCCESS
==
vtoy_json_get_int
(
pNode
->
pstChild
,
"autosel"
,
&
autosel
))
if
(
JSON_SUCCESS
==
vtoy_json_get_int
(
pNode
->
pstChild
,
"autosel"
,
&
autosel
))
...
@@ -1102,8 +1110,12 @@ static int ventoy_plugin_menualias_check(VTOY_JSON *json, const char *isodisk)
...
@@ -1102,8 +1110,12 @@ static int ventoy_plugin_menualias_check(VTOY_JSON *json, const char *isodisk)
if
(
path
&&
path
[
0
]
==
'/'
&&
alias
)
if
(
path
&&
path
[
0
]
==
'/'
&&
alias
)
{
{
if
(
vtoy_alias_image_file
==
type
)
if
(
vtoy_alias_image_file
==
type
)
{
{
if
(
ventoy_is_file_exist
(
"%s%s"
,
isodisk
,
path
))
if
(
grub_strchr
(
path
,
'*'
))
{
grub_printf
(
"image: <%s> [ * ]
\n
"
,
path
);
}
else
if
(
ventoy_is_file_exist
(
"%s%s"
,
isodisk
,
path
))
{
{
grub_printf
(
"image: <%s> [ OK ]
\n
"
,
path
);
grub_printf
(
"image: <%s> [ OK ]
\n
"
,
path
);
}
}
...
@@ -1223,7 +1235,15 @@ static int ventoy_plugin_injection_check(VTOY_JSON *json, const char *isodisk)
...
@@ -1223,7 +1235,15 @@ static int ventoy_plugin_injection_check(VTOY_JSON *json, const char *isodisk)
continue
;
continue
;
}
}
grub_printf
(
"image: <%s> [%s]
\n
"
,
path
,
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
path
)
?
"OK"
:
"NOT EXIST"
);
if
(
grub_strchr
(
path
,
'*'
))
{
grub_printf
(
"image: <%s> [*]
\n
"
,
path
);
}
else
{
grub_printf
(
"image: <%s> [%s]
\n
"
,
path
,
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
path
)
?
"OK"
:
"NOT EXIST"
);
}
grub_printf
(
"archive: <%s> [%s]
\n\n
"
,
archive
,
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
archive
)
?
"OK"
:
"NOT EXIST"
);
grub_printf
(
"archive: <%s> [%s]
\n\n
"
,
archive
,
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
archive
)
?
"OK"
:
"NOT EXIST"
);
}
}
...
@@ -1611,6 +1631,11 @@ static int ventoy_plugin_conf_replace_check(VTOY_JSON *json, const char *isodisk
...
@@ -1611,6 +1631,11 @@ static int ventoy_plugin_conf_replace_check(VTOY_JSON *json, const char *isodisk
grub_script_execute_sourcecode
(
"loopback -d vtisocheck"
);
grub_script_execute_sourcecode
(
"loopback -d vtisocheck"
);
}
}
else
if
(
grub_strchr
(
isof
,
'*'
))
{
grub_printf
(
"iso:<%s> [*]
\n
"
,
isof
);
grub_printf
(
"org:<%s>
\n
"
,
orgf
);
}
else
else
{
{
grub_printf
(
"iso:<%s> [NOT Exist]
\n
"
,
isof
);
grub_printf
(
"iso:<%s> [NOT Exist]
\n
"
,
isof
);
...
@@ -1704,7 +1729,11 @@ static int ventoy_plugin_auto_memdisk_check(VTOY_JSON *json, const char *isodisk
...
@@ -1704,7 +1729,11 @@ static int ventoy_plugin_auto_memdisk_check(VTOY_JSON *json, const char *isodisk
{
{
grub_printf
(
"<%s> "
,
pNode
->
unData
.
pcStrVal
);
grub_printf
(
"<%s> "
,
pNode
->
unData
.
pcStrVal
);
if
(
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
pNode
->
unData
.
pcStrVal
))
if
(
grub_strchr
(
pNode
->
unData
.
pcStrVal
,
'*'
))
{
grub_printf
(
" [*]
\n
"
);
}
else
if
(
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
pNode
->
unData
.
pcStrVal
))
{
{
grub_printf
(
" [OK]
\n
"
);
grub_printf
(
" [OK]
\n
"
);
}
}
...
@@ -1794,7 +1823,11 @@ static int ventoy_plugin_image_list_check(VTOY_JSON *json, const char *isodisk)
...
@@ -1794,7 +1823,11 @@ static int ventoy_plugin_image_list_check(VTOY_JSON *json, const char *isodisk)
{
{
grub_printf
(
"<%s> "
,
pNode
->
unData
.
pcStrVal
);
grub_printf
(
"<%s> "
,
pNode
->
unData
.
pcStrVal
);
if
(
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
pNode
->
unData
.
pcStrVal
))
if
(
grub_strchr
(
pNode
->
unData
.
pcStrVal
,
'*'
))
{
grub_printf
(
" [*]
\n
"
);
}
else
if
(
ventoy_check_file_exist
(
"%s%s"
,
isodisk
,
pNode
->
unData
.
pcStrVal
))
{
{
grub_printf
(
" [OK]
\n
"
);
grub_printf
(
" [OK]
\n
"
);
}
}
...
@@ -1996,7 +2029,7 @@ install_template * ventoy_plugin_find_install_template(const char *isopath)
...
@@ -1996,7 +2029,7 @@ install_template * ventoy_plugin_find_install_template(const char *isopath)
len
=
(
int
)
grub_strlen
(
isopath
);
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_install_template_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_install_template_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
{
{
return
node
;
return
node
;
}
}
...
@@ -2036,7 +2069,7 @@ persistence_config * ventoy_plugin_find_persistent(const char *isopath)
...
@@ -2036,7 +2069,7 @@ persistence_config * ventoy_plugin_find_persistent(const char *isopath)
len
=
(
int
)
grub_strlen
(
isopath
);
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_persistence_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_persistence_head
;
node
;
node
=
node
->
next
)
{
{
if
((
len
==
node
->
pathlen
)
&&
(
grub
_strcmp
(
node
->
isopath
,
isopath
)
==
0
))
if
((
len
==
node
->
pathlen
)
&&
(
ventoy
_strcmp
(
node
->
isopath
,
isopath
)
==
0
))
{
{
return
node
;
return
node
;
}
}
...
@@ -2117,7 +2150,7 @@ const char * ventoy_plugin_get_injection(const char *isopath)
...
@@ -2117,7 +2150,7 @@ const char * ventoy_plugin_get_injection(const char *isopath)
len
=
(
int
)
grub_strlen
(
isopath
);
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_injection_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_injection_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
{
{
return
node
->
archive
;
return
node
->
archive
;
}
}
...
@@ -2140,7 +2173,7 @@ const char * ventoy_plugin_get_menu_alias(int type, const char *isopath)
...
@@ -2140,7 +2173,7 @@ const char * ventoy_plugin_get_menu_alias(int type, const char *isopath)
for
(
node
=
g_menu_alias_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_menu_alias_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
type
==
type
&&
node
->
pathlen
&&
if
(
node
->
type
==
type
&&
node
->
pathlen
&&
node
->
pathlen
==
len
&&
grub
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
node
->
pathlen
==
len
&&
ventoy
_strcmp
(
node
->
isopath
,
isopath
)
==
0
)
{
{
return
node
->
alias
;
return
node
->
alias
;
}
}
...
@@ -2288,7 +2321,7 @@ int ventoy_plugin_check_memdisk(const char *isopath)
...
@@ -2288,7 +2321,7 @@ int ventoy_plugin_check_memdisk(const char *isopath)
len
=
(
int
)
grub_strlen
(
isopath
);
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_auto_memdisk_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_auto_memdisk_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strncmp
(
isopath
,
node
->
isopath
,
len
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strncmp
(
node
->
isopath
,
isopath
,
len
)
==
0
)
{
{
return
1
;
return
1
;
}
}
...
@@ -2314,14 +2347,14 @@ int ventoy_plugin_get_image_list_index(int type, const char *name)
...
@@ -2314,14 +2347,14 @@ int ventoy_plugin_get_image_list_index(int type, const char *name)
{
{
if
(
vtoy_class_directory
==
type
)
if
(
vtoy_class_directory
==
type
)
{
{
if
(
len
<
node
->
pathlen
&&
grub
_strncmp
(
name
,
node
->
isopath
,
len
)
==
0
)
if
(
len
<
node
->
pathlen
&&
ventoy
_strncmp
(
node
->
isopath
,
name
,
len
)
==
0
)
{
{
return
index
;
return
index
;
}
}
}
}
else
else
{
{
if
(
len
==
node
->
pathlen
&&
grub
_strncmp
(
name
,
node
->
isopath
,
len
)
==
0
)
if
(
len
==
node
->
pathlen
&&
ventoy
_strncmp
(
node
->
isopath
,
name
,
len
)
==
0
)
{
{
return
index
;
return
index
;
}
}
...
@@ -2345,7 +2378,7 @@ conf_replace * ventoy_plugin_find_conf_replace(const char *iso)
...
@@ -2345,7 +2378,7 @@ conf_replace * ventoy_plugin_find_conf_replace(const char *iso)
for
(
node
=
g_conf_replace_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_conf_replace_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strncmp
(
iso
,
node
->
isopath
,
len
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strncmp
(
node
->
isopath
,
iso
,
len
)
==
0
)
{
{
return
node
;
return
node
;
}
}
...
@@ -2367,7 +2400,7 @@ dud * ventoy_plugin_find_dud(const char *iso)
...
@@ -2367,7 +2400,7 @@ dud * ventoy_plugin_find_dud(const char *iso)
len
=
(
int
)
grub_strlen
(
iso
);
len
=
(
int
)
grub_strlen
(
iso
);
for
(
node
=
g_dud_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_dud_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strncmp
(
iso
,
node
->
isopath
,
len
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strncmp
(
node
->
isopath
,
iso
,
len
)
==
0
)
{
{
return
node
;
return
node
;
}
}
...
@@ -2420,7 +2453,7 @@ static const vtoy_password * ventoy_plugin_get_password(const char *isopath)
...
@@ -2420,7 +2453,7 @@ static const vtoy_password * ventoy_plugin_get_password(const char *isopath)
len
=
(
int
)
grub_strlen
(
isopath
);
len
=
(
int
)
grub_strlen
(
isopath
);
for
(
node
=
g_pwd_head
;
node
;
node
=
node
->
next
)
for
(
node
=
g_pwd_head
;
node
;
node
=
node
->
next
)
{
{
if
(
node
->
pathlen
==
len
&&
grub
_strncmp
(
isopath
,
node
->
isopath
,
len
)
==
0
)
if
(
node
->
pathlen
==
len
&&
ventoy
_strncmp
(
node
->
isopath
,
isopath
,
len
)
==
0
)
{
{
return
&
(
node
->
password
);
return
&
(
node
->
password
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment