summaryrefslogtreecommitdiff
path: root/src/arguments.cpp
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-08-28 23:11:57 +0200
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2013-08-28 23:11:57 +0200
commit5ab6927a5fa17e73161d7126ca506e5e51ba0e55 (patch)
tree321186e3f01c09c5f739725da5a06abc31104b67 /src/arguments.cpp
parentd69d5ca8f8f6a8c75099052f8541d7144385572c (diff)
added parameter handling, and return value handling
Diffstat (limited to 'src/arguments.cpp')
-rw-r--r--src/arguments.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/arguments.cpp b/src/arguments.cpp
new file mode 100644
index 0000000..e5e7ae5
--- /dev/null
+++ b/src/arguments.cpp
@@ -0,0 +1,41 @@
+/**
+ * Arguments.cpp
+ *
+ * Implementation of the arguments class
+ *
+ * @author Emiel Bruijntjes <emiel.bruijntjes@copernica.com>
+ * @copyright 2013 Copernica BV
+ */
+#include "includes.h"
+
+/**
+ * Set up namespace
+ */
+namespace PhpCpp {
+
+/**
+ * Constructor
+ * @param argc Number of arguments
+ * @param tsrm_ls
+ */
+Arguments::Arguments(int argc TSRMLS_DC)
+{
+ // reserve plenty of space
+ reserve(argc);
+
+ // loop through the arguments
+ for (int i=0; i<argc; i++)
+ {
+ // get the argument
+ zval **arg = (zval **) (zend_vm_stack_top(TSRMLS_C) - 1 - (argc-i));
+
+ // append value
+ push_back(Value(*arg));
+ }
+}
+
+/**
+ * End of namespace
+ */
+}
+