LINUX.ORG.RU
ФорумTalks

*_1 = NULL, *_2, *_4, _5

 


0

1

Как вам название аргументов функции? Круто?

static PHP_METHOD(Phalcon_Translate_Adapter_Csv, _load) {

	zend_bool _6;
	zephir_fcall_cache_entry *_3 = NULL;
	int ZEPHIR_LAST_CALL_STATUS;
	zval *file, *length, *delimiter, *enclosure, *data = NULL, *fileHandler = NULL, _0 = zval_used_for_init, *_1 = NULL, *_2, *_4, _5 = zval_used_for_init, *_7, *_8 = NULL;

	ZEPHIR_MM_GROW();
	zephir_fetch_params(1, 4, 0, &file, &length, &delimiter, &enclosure);



	ZEPHIR_SINIT_VAR(_0);
	ZVAL_STRING(&_0, "rb", 0);
	ZEPHIR_CALL_FUNCTION(&fileHandler, "fopen", NULL, 285, file, &_0);
	zephir_check_call_status();
	if (Z_TYPE_P(fileHandler) != IS_RESOURCE) {
		ZEPHIR_INIT_VAR(_1);
		object_init_ex(_1, phalcon_translate_exception_ce);
		ZEPHIR_INIT_VAR(_2);
		ZEPHIR_CONCAT_SVS(_2, "Error opening translation file '", file, "'");
		ZEPHIR_CALL_METHOD(NULL, _1, "__construct", NULL, 9, _2);
		zephir_check_call_status();
		zephir_throw_exception_debug(_1, "phalcon/translate/adapter/csv.zep", 64 TSRMLS_CC);
		ZEPHIR_MM_RESTORE();
		return;
	}
	while (1) {
		ZEPHIR_CALL_FUNCTION(&data, "fgetcsv", &_3, 428, fileHandler, length, delimiter, enclosure);
		zephir_check_call_status();
		if (ZEPHIR_IS_FALSE_IDENTICAL(data)) {
			break;
		}
		zephir_array_fetch_long(&_4, data, 0, PH_NOISY | PH_READONLY, "phalcon/translate/adapter/csv.zep", 74 TSRMLS_CC);
		ZEPHIR_SINIT_NVAR(_0);
		ZVAL_LONG(&_0, 0);
		ZEPHIR_SINIT_NVAR(_5);
		ZVAL_LONG(&_5, 1);
		ZEPHIR_INIT_NVAR(_1);
		zephir_substr(_1, _4, 0 , 1 , 0);
		_6 = ZEPHIR_IS_STRING_IDENTICAL(_1, "#");
		if (!(_6)) {
			_6 = !(zephir_array_isset_long(data, 1));
		}
		if (_6) {
			continue;
		}
		zephir_array_fetch_long(&_7, data, 1, PH_NOISY | PH_READONLY, "phalcon/translate/adapter/csv.zep", 78 TSRMLS_CC);
		ZEPHIR_OBS_NVAR(_8);
		zephir_array_fetch_long(&_8, data, 0, PH_NOISY, "phalcon/translate/adapter/csv.zep", 78 TSRMLS_CC);
		zephir_update_property_array(this_ptr, SL("_translate"), _8, _7 TSRMLS_CC);
	}
	zephir_fclose(fileHandler TSRMLS_CC);
	ZEPHIR_MM_RESTORE();

}

★★

Последнее исправление: webmak (всего исправлений: 1)

Зависит от контекста. Это может быть круто. А может быть не круто.
А вот тред твой в такой формулировке точно не крутой.

Stahl ★★☆
()
Ответ на: комментарий от Stahl

Ага, код добавил. А хрен тут проссышь что вообще происходит.

Stahl ★★☆
()

нет таких аргументов ф-ций в представленном коде, только названия локальных переменных

next_time ★★★★★
()
Ответ на: комментарий от next_time

только названия локальных переменных

Эти переменные передаются в функцию - тоесть есть аргументы.

Посмотри внимательно код.

https://raw.githubusercontent.com/phalcon/cphalcon/master/build/32bits/phalco...

Если интерестно мож поискать. Я просто показать. Понимаю что вебмакам не нужно знать, что делается под капотом, но есть любознательные и это пипец

webmak ★★
() автор топика
Последнее исправление: webmak (всего исправлений: 4)
Ответ на: комментарий от Harald

если компилируется, то в чём проблема?

улыбнул)

webmak ★★
() автор топика
Ответ на: комментарий от webmak

Очень даже похоже на http://zephir-lang.com/. В общем, это автосгенерированный код.

А натолкнули меня на это исходники этого cphalcon. Очень напоминает то что я видел в выхлопе cython и прочих трансляторах.

Обнови тред что-ли :)

true_admin ★★★★★
()
Последнее исправление: true_admin (всего исправлений: 1)
Ответ на: комментарий от true_admin

В общем, это автосгенерированный код.

Скорей всего ты прав, счас изучаю, этот момент. И как это дебажить - потом)

webmak ★★
() автор топика
Последнее исправление: webmak (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.