Skip to content

Commit

Permalink
pg_copy_from using zend_string on success.
Browse files Browse the repository at this point in the history
  • Loading branch information
devnexen committed May 1, 2024
1 parent da8f483 commit 851d6c6
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions ext/pgsql/pgsql.c
Original file line number Diff line number Diff line change
Expand Up @@ -3273,18 +3273,14 @@ PHP_FUNCTION(pg_copy_from)
if (UNEXPECTED(!tmp)) {
return;
}
query = (char *)emalloc(ZSTR_LEN(tmp) + 2);
strlcpy(query, ZSTR_VAL(tmp), ZSTR_LEN(tmp) + 2);
if (ZSTR_LEN(tmp) > 0 && *(query + ZSTR_LEN(tmp) - 1) != '\n') {
strlcat(query, "\n", ZSTR_LEN(tmp) + 2);
if (ZSTR_LEN(tmp) > 0 && ZSTR_VAL(tmp)[ZSTR_LEN(tmp)] != '\n') {
ZSTR_VAL(tmp)[ZSTR_LEN(tmp) ] = '\n';
}
if (PQputCopyData(pgsql, query, (int)strlen(query)) != 1) {
efree(query);
if (PQputCopyData(pgsql, ZSTR_VAL(tmp), ZSTR_LEN(tmp)) != 1) {
zend_string_release(tmp);
PHP_PQ_ERROR("copy failed: %s", pgsql);
RETURN_FALSE;
}
efree(query);
zend_string_release(tmp);
} ZEND_HASH_FOREACH_END();

Expand Down

0 comments on commit 851d6c6

Please sign in to comment.