Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
9517fa11
Commit
9517fa11
authored
Feb 20, 2010
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Export VLC's md5 API.
parent
21a99454
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
142 additions
and
0 deletions
+142
-0
modules/misc/lua/Modules.am
modules/misc/lua/Modules.am
+1
-0
modules/misc/lua/demux.c
modules/misc/lua/demux.c
+1
-0
modules/misc/lua/extension.c
modules/misc/lua/extension.c
+1
-0
modules/misc/lua/intf.c
modules/misc/lua/intf.c
+1
-0
modules/misc/lua/libs.h
modules/misc/lua/libs.h
+1
-0
modules/misc/lua/libs/md5.c
modules/misc/lua/libs/md5.c
+126
-0
modules/misc/lua/meta.c
modules/misc/lua/meta.c
+1
-0
modules/misc/lua/services_discovery.c
modules/misc/lua/services_discovery.c
+2
-0
share/lua/README.txt
share/lua/README.txt
+8
-0
No files found.
modules/misc/lua/Modules.am
View file @
9517fa11
...
...
@@ -16,6 +16,7 @@ SOURCES_lua = \
libs/httpd.c \
libs/input.c \
libs/input.h \
libs/md5.c \
libs/messages.c \
libs/misc.c \
libs/misc.h \
...
...
modules/misc/lua/demux.c
View file @
9517fa11
...
...
@@ -139,6 +139,7 @@ static int probe_luascript( vlc_object_t *p_this, const char * psz_filename,
luaopen_msg
(
L
);
luaopen_strings
(
L
);
luaopen_xml
(
L
);
luaopen_md5
(
L
);
lua_pushlightuserdata
(
L
,
p_demux
);
lua_setfield
(
L
,
-
2
,
"private"
);
lua_pushstring
(
L
,
p_demux
->
psz_path
);
...
...
modules/misc/lua/extension.c
View file @
9517fa11
...
...
@@ -736,6 +736,7 @@ static lua_State* GetLuaState( extensions_manager_t *p_mgr,
luaopen_config
(
L
);
luaopen_dialog
(
L
,
p_ext
);
luaopen_input
(
L
);
luaopen_md5
(
L
);
luaopen_msg
(
L
);
luaopen_misc
(
L
);
luaopen_net
(
L
);
...
...
modules/misc/lua/intf.c
View file @
9517fa11
...
...
@@ -198,6 +198,7 @@ int Open_LuaIntf( vlc_object_t *p_this )
luaopen_volume
(
L
);
luaopen_gettext
(
L
);
luaopen_xml
(
L
);
luaopen_md5
(
L
);
/* clean up */
lua_pop
(
L
,
1
);
...
...
modules/misc/lua/libs.h
View file @
9517fa11
...
...
@@ -45,5 +45,6 @@ void luaopen_volume( lua_State * );
void
luaopen_gettext
(
lua_State
*
);
void
luaopen_input_item
(
lua_State
*
L
,
input_item_t
*
item
);
void
luaopen_xml
(
lua_State
*
L
);
void
luaopen_md5
(
lua_State
*
L
);
#endif
modules/misc/lua/libs/md5.c
0 → 100644
View file @
9517fa11
/*****************************************************************************
* md5.c: md5 hashing functions
*****************************************************************************
* Copyright (C) 2010 Antoine Cellerier
* $Id$
*
* Authors: Antoine Cellerier <dionoea at videolan tod org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <vlc_common.h>
#include <vlc_md5.h>
#include <lua.h>
/* Low level lua C API */
#include <lauxlib.h>
/* Higher level C API */
#include "../vlc.h"
#include "../libs.h"
/*****************************************************************************
*
*****************************************************************************/
static
int
vlclua_md5_create
(
lua_State
*
);
static
int
vlclua_md5_add
(
lua_State
*
);
static
int
vlclua_md5_end
(
lua_State
*
);
static
int
vlclua_md5_hash
(
lua_State
*
);
static
const
luaL_Reg
vlclua_md5_reg
[]
=
{
{
"add"
,
vlclua_md5_add
},
{
"end"
,
vlclua_md5_end
},
{
"end_"
,
vlclua_md5_end
},
{
"hash"
,
vlclua_md5_hash
},
{
NULL
,
NULL
}
};
static
int
vlclua_md5_create
(
lua_State
*
L
)
{
if
(
lua_gettop
(
L
)
)
{
/* If optional first argument is given, and it's a string, just
* return the string's hash */
const
char
*
psz_str
=
luaL_checkstring
(
L
,
1
);
struct
md5_s
md5
;
InitMD5
(
&
md5
);
AddMD5
(
&
md5
,
psz_str
,
strlen
(
psz_str
)
);
EndMD5
(
&
md5
);
char
*
psz_hash
=
psz_md5_hash
(
&
md5
);
lua_pushstring
(
L
,
psz_hash
);
free
(
psz_hash
);
return
1
;
}
struct
md5_s
*
p_md5
=
lua_newuserdata
(
L
,
sizeof
(
struct
md5_s
)
);
InitMD5
(
p_md5
);
if
(
luaL_newmetatable
(
L
,
"md5"
)
)
{
lua_newtable
(
L
);
luaL_register
(
L
,
NULL
,
vlclua_md5_reg
);
lua_setfield
(
L
,
-
2
,
"__index"
);
}
lua_setmetatable
(
L
,
-
2
);
return
1
;
}
static
int
vlclua_md5_add
(
lua_State
*
L
)
{
struct
md5_s
*
p_md5
=
(
struct
md5_s
*
)
luaL_checkudata
(
L
,
1
,
"md5"
);
if
(
!
lua_isstring
(
L
,
2
)
)
luaL_error
(
L
,
"2nd argument should be a string"
);
size_t
i_len
=
0
;
const
char
*
psz_str
=
lua_tolstring
(
L
,
2
,
&
i_len
);
if
(
!
psz_str
)
vlclua_error
(
L
);
AddMD5
(
p_md5
,
psz_str
,
i_len
);
return
0
;
}
static
int
vlclua_md5_end
(
lua_State
*
L
)
{
struct
md5_s
*
p_md5
=
(
struct
md5_s
*
)
luaL_checkudata
(
L
,
1
,
"md5"
);
EndMD5
(
p_md5
);
return
0
;
}
static
int
vlclua_md5_hash
(
lua_State
*
L
)
{
struct
md5_s
*
p_md5
=
(
struct
md5_s
*
)
luaL_checkudata
(
L
,
1
,
"md5"
);
char
*
psz_hash
=
psz_md5_hash
(
p_md5
);
lua_pushstring
(
L
,
psz_hash
);
free
(
psz_hash
);
return
1
;
}
void
luaopen_md5
(
lua_State
*
L
)
{
lua_pushcfunction
(
L
,
vlclua_md5_create
);
lua_setfield
(
L
,
-
2
,
"md5"
);
}
modules/misc/lua/meta.c
View file @
9517fa11
...
...
@@ -72,6 +72,7 @@ static lua_State * init( vlc_object_t *p_this, input_item_t * p_item, const char
luaopen_object
(
L
);
luaopen_misc
(
L
);
luaopen_xml
(
L
);
luaopen_md5
(
L
);
luaopen_input_item
(
L
,
p_item
);
lua_pushlightuserdata
(
L
,
p_this
);
...
...
modules/misc/lua/services_discovery.c
View file @
9517fa11
...
...
@@ -110,7 +110,9 @@ int Open_LuaSD( vlc_object_t *p_this )
luaopen_stream
(
L
);
luaopen_gettext
(
L
);
luaopen_xml
(
L
);
luaopen_md5
(
L
);
lua_pop
(
L
,
1
);
if
(
vlclua_add_modules_path
(
p_sd
,
L
,
p_sys
->
psz_filename
)
)
{
msg_Warn
(
p_sd
,
"Error while setting the module search path for %s"
,
...
...
share/lua/README.txt
View file @
9517fa11
...
...
@@ -130,6 +130,14 @@ input.item(): Get the current input item. Input item methods are:
.played_abuffers
.lost_abuffers
MD5
---
md5( str ): return the string's hash
md5(): create an md5 object with the following methods:
:add( str ): add a string to the hash
:end_(): finish hashing
:hash(): return the hash
Messages
--------
msg.dbg( [str1, [str2, [...]]] ): Output debug messages (-vv).
...
...
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