aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changes2
-rw-r--r--URPM.xs8
2 files changed, 7 insertions, 3 deletions
diff --git a/Changes b/Changes
index 870d041..3dfdcd2 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,5 @@
+- Harmonize buffer size (thus fixing "invalid line <@provides" for huge pkgs)
+
Version 5.221 - 2 December 2021
- Bump static buffer size when generating synthesys
diff --git a/URPM.xs b/URPM.xs
index 543388d..7d48acf 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -141,6 +141,8 @@ typedef struct s_Package* URPM__Package;
#define WEAK_DEPS_ARE_SUPPORTED
#endif
+#define BUF_SIZE 65536*3
+
static ssize_t write_nocheck(int fd, const void *buf, size_t count) {
return write(fd, buf, count);
}
@@ -754,7 +756,7 @@ return_problems(rpmps ps, int translate_message, int raw_message) {
static char *
pack_list(const Header header, rpmTag tag_name, rpmTag tag_flags, rpmTag tag_version) {
- char buff[65536*2];
+ char buff[BUF_SIZE];
char *p = buff;
struct rpmtd_s td;
@@ -2177,7 +2179,7 @@ Pkg_build_info(pkg, fileno, provides_files=NULL, recommends=0)
int recommends
CODE:
if (pkg->info) {
- char buff[65536*3];
+ char buff[BUF_SIZE];
UV size;
/* info line should be the last to be written */
@@ -2937,7 +2939,7 @@ Urpm_parse_synthesis__XS(urpm, filename, ...)
HV *obsoletes = fobsoletes && SvROK(*fobsoletes) && SvTYPE(SvRV(*fobsoletes)) == SVt_PVHV ? (HV*)SvRV(*fobsoletes) : NULL;
if (depslist != NULL) {
- char buff[65536*2];
+ char buff[BUF_SIZE];
char *p, *eol;
int buff_len;
struct s_Package pkg;