common.c 764 B

12345678910111213141516171819
  1. #include "include.h"
  2. void excel_file_path(zend_string *file_name, zval *dir_path, zval *file_path)
  3. {
  4. zend_string *full_path, *zstr_path;
  5. zstr_path = zval_get_string(dir_path);
  6. if (Z_STRVAL_P(dir_path)[Z_STRLEN_P(dir_path)-1] == '/') {
  7. full_path = zend_string_extend(zstr_path, ZSTR_LEN(zstr_path) + ZSTR_LEN(file_name), 0);
  8. memcpy(ZSTR_VAL(full_path)+ZSTR_LEN(zstr_path), ZSTR_VAL(file_name), ZSTR_LEN(file_name)+1);
  9. } else {
  10. full_path = zend_string_extend(zstr_path, ZSTR_LEN(zstr_path) + ZSTR_LEN(file_name) + 1, 0);
  11. ZSTR_VAL(full_path)[ZSTR_LEN(zstr_path)] ='/';
  12. memcpy(ZSTR_VAL(full_path)+ZSTR_LEN(zstr_path)+1, ZSTR_VAL(file_name), ZSTR_LEN(file_name)+1);
  13. }
  14. ZVAL_STR(file_path, full_path);
  15. }