argcargv.i cosmetic updates
This commit is contained in:
parent
0307d0732c
commit
e4cdf9d98f
6 changed files with 25 additions and 32 deletions
|
|
@ -1,17 +1,16 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------
|
|
||||||
*
|
Use it as follows:
|
||||||
* Use it as follow:
|
|
||||||
*
|
%apply (int ARGC, char **ARGV) { (size_t argc, const char **argv) }
|
||||||
* %apply (int ARGC, char **ARGV) { (size_t argc, const char **argv) }
|
extern int mainApp(size_t argc, const char **argv);
|
||||||
* extern int mainApp(size_t argc, const char **argv);
|
|
||||||
*
|
then from lua:
|
||||||
* then in the lua:
|
|
||||||
*
|
args = { "arg0", "arg1" }
|
||||||
* args = { "arg0", "arg1" }
|
mainApp(args);
|
||||||
* mainApp(args);
|
|
||||||
*
|
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
%{
|
%{
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
%typemap(in) (int ARGC, char **ARGV) {
|
%typemap(in) (int ARGC, char **ARGV) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
%typemap(in) (int ARGC, char **ARGV) {
|
%typemap(in) (int ARGC, char **ARGV) {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
%fragment("SWIG_AsArgcArgv","header",fragment="SWIG_AsCharPtrAndSize") {
|
%fragment("SWIG_AsArgcArgv","header",fragment="SWIG_AsCharPtrAndSize") {
|
||||||
SWIGINTERN int
|
SWIGINTERN int
|
||||||
SWIG_AsArgcArgv(PyObject *input,
|
SWIG_AsArgcArgv(PyObject *input, swig_type_info *ppchar_info, size_t *argc, char ***argv, int *owner) {
|
||||||
swig_type_info *ppchar_info,
|
|
||||||
size_t *argc, char ***argv, int *owner)
|
|
||||||
{
|
|
||||||
void *vptr;
|
void *vptr;
|
||||||
int res = SWIG_ConvertPtr(input, &vptr, ppchar_info, 0);
|
int res = SWIG_ConvertPtr(input, &vptr, ppchar_info, 0);
|
||||||
if (!SWIG_IsOK(res)) {
|
if (!SWIG_IsOK(res)) {
|
||||||
|
|
@ -51,7 +48,7 @@ SWIG_AsArgcArgv(PyObject *input,
|
||||||
} else {
|
} else {
|
||||||
/* seems dangerous, but the user asked for it... */
|
/* seems dangerous, but the user asked for it... */
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
if (argv) { while (*argv[i] != 0) ++i;}
|
if (argv) { while (*argv[i] != 0) ++i;}
|
||||||
if (argc) *argc = i;
|
if (argc) *argc = i;
|
||||||
if (owner) *owner = 0;
|
if (owner) *owner = 0;
|
||||||
return SWIG_OK;
|
return SWIG_OK;
|
||||||
|
|
@ -66,10 +63,10 @@ SWIG_AsArgcArgv(PyObject *input,
|
||||||
|
|
||||||
%typemap(in,noblock=0,fragment="SWIG_AsArgcArgv") (int ARGC, char **ARGV) (int res,char **argv = 0, size_t argc = 0, int owner= 0) {
|
%typemap(in,noblock=0,fragment="SWIG_AsArgcArgv") (int ARGC, char **ARGV) (int res,char **argv = 0, size_t argc = 0, int owner= 0) {
|
||||||
res = SWIG_AsArgcArgv($input, $descriptor(char**), &argc, &argv, &owner);
|
res = SWIG_AsArgcArgv($input, $descriptor(char**), &argc, &argv, &owner);
|
||||||
if (!SWIG_IsOK(res)) {
|
if (!SWIG_IsOK(res)) {
|
||||||
$1 = 0; $2 = 0;
|
$1 = 0; $2 = 0;
|
||||||
%argument_fail(SWIG_TypeError, "int ARGC, char **ARGV", $symname, $argnum);
|
%argument_fail(SWIG_TypeError, "int ARGC, char **ARGV", $symname, $argnum);
|
||||||
} else {
|
} else {
|
||||||
$1 = %static_cast(argc,$1_ltype);
|
$1 = %static_cast(argc,$1_ltype);
|
||||||
$2 = %static_cast(argv, $2_ltype);
|
$2 = %static_cast(argv, $2_ltype);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,18 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------ */
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------
|
|
||||||
|
|
||||||
Use it as follow:
|
Use it as follows:
|
||||||
|
|
||||||
%apply (int ARGC, char **ARGV) { (size_t argc, const char **argv) }
|
%apply (int ARGC, char **ARGV) { (size_t argc, const char **argv) }
|
||||||
|
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
||||||
int mainApp(size_t argc, const char **argv)
|
int mainApp(size_t argc, const char **argv)
|
||||||
{
|
{
|
||||||
return argc;
|
return argc;
|
||||||
}
|
}
|
||||||
|
|
||||||
then in the ruby side:
|
then from ruby:
|
||||||
|
|
||||||
args = ["asdf", "asdf2"]
|
args = ["asdf", "asdf2"]
|
||||||
mainApp(args);
|
mainApp(args);
|
||||||
|
|
@ -31,7 +28,7 @@
|
||||||
VALUE *ptr = RARRAY_PTR($input);
|
VALUE *ptr = RARRAY_PTR($input);
|
||||||
for (i=0; i < size; i++, ptr++) {
|
for (i=0; i < size; i++, ptr++) {
|
||||||
$2[i]= StringValuePtr(*ptr);
|
$2[i]= StringValuePtr(*ptr);
|
||||||
}
|
}
|
||||||
$2[i]=NULL;
|
$2[i]=NULL;
|
||||||
} else {
|
} else {
|
||||||
$1 = 0; $2 = 0;
|
$1 = 0; $2 = 0;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* ------------------------------------------------------------
|
/* ------------------------------------------------------------
|
||||||
* --- Argc & Argv ---
|
* SWIG library containing argc and argv multi-argument typemaps
|
||||||
* ------------------------------------------------------------ */
|
* ------------------------------------------------------------ */
|
||||||
|
|
||||||
%typemap(in) (int ARGC, char **ARGV) {
|
%typemap(in) (int ARGC, char **ARGV) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue