Fixed cfg crash

This commit is contained in:
Olusesan Ameye
2022-10-22 03:30:51 +00:00
parent c30a776ea5
commit 97e33ebadb
5 changed files with 66 additions and 37 deletions
+23 -17
View File
@@ -139,38 +139,44 @@ PHP_METHOD(WrenchBoard, wrenchboard_api)
// ------------------------------------------------------------------ // ------------------------------------------------------------------
PHP_METHOD(WrenchBoard, cfgReadChar)
{
unsigned char *parameter;
char *parameter = NULL;
size_t parameter_len = 0;
zval *id = getThis();
wrenchboard_object *intern;
if (zend_parse_parameters(
ZEND_NUM_ARGS() TSRMLS_CC, "s", &parameter) == FAILURE) {
RETURN_NULL();
/*if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &parameter, &parameter_len) == FAILURE) {
RETURN_NULL();
}
*/
intern = Z_TSTOBJ_P(id);
if(intern != NULL) {
std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
RETURN_STRING(s.c_str());
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadChar)");
//std::string s = intern->wrenchboard->cfgReadChar((char*)parameter);
//RETURN_STRING(s.c_str());
}
RETURN_NULL();
}
// DEBUG:
// gdb --args php -f i.php
// sysctl -w kernel.core_pattern=/opt/mainsite/wrenchboard/www/core.%e.%p.%h.%t
// ------------------------------------------------------------------ // ------------------------------------------------------------------
PHP_METHOD(WrenchBoard, cfgReadLong)
{
unsigned char *parameter;
char *parameter = NULL;
size_t parameter_len = 0;
zval *id = getThis();
wrenchboard_object *intern;
if (zend_parse_parameters(
ZEND_NUM_ARGS() TSRMLS_CC, "s", &parameter) == FAILURE) {
RETURN_NULL();
/* if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &parameter, &parameter_len) == FAILURE) {
RETURN_NULL();
}
*/
intern = Z_TSTOBJ_P(id);
if(intern != NULL) {
RETURN_LONG(intern->wrenchboard->cfgReadLong((char*)parameter));
intern->wrenchboard->logMessage("PHP_METHOD(WrenchBoard, cfgReadLong)");
//long l = intern->wrenchboard->cfgReadLong((char*)parameter);
//RETURN_LONG(l);
}
RETURN_NULL();
}
@@ -178,13 +184,13 @@ PHP_METHOD(WrenchBoard, cfgReadLong)
// ------------------------------------------------------------------ // ------------------------------------------------------------------
PHP_METHOD(WrenchBoard, logMessage)
{
unsigned char *message;
char *message = NULL;
size_t message_len = 0;
zval *id = getThis();
wrenchboard_object *intern;
if (zend_parse_parameters(
ZEND_NUM_ARGS() TSRMLS_CC, "s", &message) == FAILURE) {
RETURN_FALSE;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &message, &message_len) == FAILURE) {
RETURN_FALSE;
}
intern = Z_TSTOBJ_P(id);