mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
* ext/socket/mkconstants.rb: add valp argument for family_to_int and
socktype_to_int. * ext/socket/socket.c (setup_domain_and_type): use valp argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
175561f8dd
commit
10bc6f8d49
3 changed files with 17 additions and 16 deletions
|
@ -75,14 +75,14 @@ def each_names_with_len(pat)
|
|||
}
|
||||
end
|
||||
|
||||
ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_name_to_int(str_var, len_var, pat)")
|
||||
ERB.new(<<'EOS', nil, '%').def_method(Object, "gen_name_to_int(str_var, len_var, retp_var, pat)")
|
||||
switch (<%=len_var%>) {
|
||||
% each_names_with_len(pat) {|names, len|
|
||||
case <%=len%>:
|
||||
% names.each {|name|
|
||||
#ifdef <%=name%>
|
||||
% size = name.bytesize
|
||||
if (memcmp(<%=str_var%>, <%=c_str name%>, <%=size%>) == 0) return <%=name%>;
|
||||
if (memcmp(<%=str_var%>, <%=c_str name%>, <%=size%>) == 0) { *<%=retp_var%> = <%=name%>; return 0; }
|
||||
#endif
|
||||
% }
|
||||
return -1;
|
||||
|
@ -153,15 +153,15 @@ init_constants(VALUE mConst)
|
|||
}
|
||||
|
||||
static int
|
||||
family_to_int(char *str, int len)
|
||||
family_to_int(char *str, int len, int *valp)
|
||||
{
|
||||
<%= gen_name_to_int("str", "len", /\A[AP]F_/) %>
|
||||
<%= gen_name_to_int("str", "len", "valp", /\A[AP]F_/) %>
|
||||
}
|
||||
|
||||
static int
|
||||
socktype_to_int(char *str, int len)
|
||||
socktype_to_int(char *str, int len, int *valp)
|
||||
{
|
||||
<%= gen_name_to_int("str", "len", /\ASOCK_/) %>
|
||||
<%= gen_name_to_int("str", "len", "valp", /\ASOCK_/) %>
|
||||
}
|
||||
|
||||
static char *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue