cmd_push: pass "flags" pointer to config callback
[gitweb.git] / transport.c
index c67feeeb26805e83195b4d705bf3f9bec2ec8247..0694a7cf3e4a8bd7bec9fefcd440d65423021a1b 100644 (file)
@@ -830,6 +830,7 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re
        args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN);
        args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN);
        args.push_cert = !!(flags & TRANSPORT_PUSH_CERT);
+       args.atomic = !!(flags & TRANSPORT_PUSH_ATOMIC);
        args.url = transport->url;
 
        ret = send_pack(&args, data->fd, data->conn, remote_refs,
@@ -975,9 +976,7 @@ struct transport *transport_get(struct remote *remote, const char *url)
        } else {
                /* Unknown protocol in URL. Pass to external handler. */
                int len = external_specification_len(url);
-               char *handler = xmalloc(len + 1);
-               handler[len] = 0;
-               strncpy(handler, url, len);
+               char *handler = xmemdupz(url, len);
                transport_helper_init(ret, handler);
        }