apt:
packages:
- cmake
+ - os: linux
+ arch: ppc64le
+ addons:
+ apt:
+ packages:
+ - cmake
- os: osx
osx_image: xcode9.4
compiler: clang
This file contains the major changes between
libsolv versions:
+Version 0.7.18
+- selected bug fixes:
+ * fixed regex code on win32
+ * fixed memory leak in choice rule generation
+- new features:
+ * repo_add_conda: add flag to skip v2 packages
+
Version 0.7.17
- selected bug fixes:
* repo_write: fix handling of nested flexarray
SET(LIBSOLV_MAJOR "0")
SET(LIBSOLV_MINOR "7")
-SET(LIBSOLV_PATCH "17")
+SET(LIBSOLV_PATCH "18")
}
static int
-parse_main(struct parsedata *pd, struct solv_jsonparser *jp)
+parse_main(struct parsedata *pd, struct solv_jsonparser *jp, int flags)
{
int type = JP_OBJECT;
while (type > 0 && (type = jsonparser_parse(jp)) > 0 && type != JP_OBJECT_END)
type = parse_packages(pd, jp);
else if (type == JP_ARRAY && !strcmp("packages", jp->key))
type = parse_packages2(pd, jp);
- else if (type == JP_OBJECT && !strcmp("packages.conda", jp->key))
+ else if (type == JP_OBJECT && !strcmp("packages.conda", jp->key) && !(flags & CONDA_ADD_USE_ONLY_TAR_BZ2))
type = parse_packages(pd, jp);
- else if (type == JP_ARRAY && !strcmp("packages.conda", jp->key))
+ else if (type == JP_ARRAY && !strcmp("packages.conda", jp->key) && !(flags & CONDA_ADD_USE_ONLY_TAR_BZ2))
type = parse_packages2(pd, jp);
else
type = jsonparser_skip(jp, type);
jsonparser_init(&jp, fp);
if ((type = jsonparser_parse(&jp)) != JP_OBJECT)
ret = pool_error(pool, -1, "repository does not start with an object");
- else if ((type = parse_main(&pd, &jp)) != JP_OBJECT_END)
+ else if ((type = parse_main(&pd, &jp, flags)) != JP_OBJECT_END)
ret = pool_error(pool, -1, "parse error line %d", jp.line);
jsonparser_free(&jp);
* for further information
*/
+#define CONDA_ADD_USE_ONLY_TAR_BZ2 (1 << 8)
+
extern int repo_add_conda(Repo *repo, FILE *fp, int flags);
-------------------------------------------------------------------
+Fri Mar 26 14:17:46 CET 2021 - mls@suse.de
+
+- fixed regex code on win32
+- fixed memory leak in choice rule generation
+- repo_add_conda: add flag to skip v2 packages
+- bump version to 0.7.18
+
+-------------------------------------------------------------------
Tue Jan 19 15:09:12 CET 2021 - mls@suse.de
- repo_write: fix handling of nested flexarray
return;
}
now = solv_timems(0);
- solv->choicerules_info = solv_calloc(solv->pkgrules_end, sizeof(Id));
queue_init(&q);
queue_init(&qi);
queue_init(&qcheck);
#define CHARCLASS_NAME_MAX 14
#define RE_DUP_MAX 255
-typedef size_t regoff_t;
+#include <BaseTsd.h>
+typedef SSIZE_T regoff_t;
// #include <bits/alltypes.h>
typedef struct re_pattern_buffer {
pbytes = sizeof(*reach_pos) * tnfa->num_states;
xbytes = sizeof(regoff_t) * num_tags;
total_bytes =
- (sizeof(long) - 1) * 4 /* for alignment paddings */
+ (sizeof(size_t) - 1) * 4 /* for alignment paddings */
+ (rbytes + xbytes * tnfa->num_states) * 2 + tbytes + pbytes;
/* Allocate the memory. */
/* Get the various pointers within tmp_buf (properly aligned). */
tmp_tags = (void *)buf;
tmp_buf = buf + tbytes;
- tmp_buf += ALIGN(tmp_buf, long);
+ tmp_buf += ALIGN(tmp_buf, size_t);
reach_next = (void *)tmp_buf;
tmp_buf += rbytes;
- tmp_buf += ALIGN(tmp_buf, long);
+ tmp_buf += ALIGN(tmp_buf, size_t);
reach = (void *)tmp_buf;
tmp_buf += rbytes;
- tmp_buf += ALIGN(tmp_buf, long);
+ tmp_buf += ALIGN(tmp_buf, size_t);
reach_pos = (void *)tmp_buf;
tmp_buf += pbytes;
- tmp_buf += ALIGN(tmp_buf, long);
+ tmp_buf += ALIGN(tmp_buf, size_t);
for (i = 0; i < tnfa->num_states; i++)
{
reach[i].tags = (void *)tmp_buf;
}
/* Make sure the next pointer will be aligned. */
- size += ALIGN(mem->ptr + size, long);
+ size += ALIGN(mem->ptr + size, size_t);
/* Allocate from current block. */
ptr = mem->ptr;
#include <regex.h>
#include <wchar.h>
#include <wctype.h>
+#include <stdint.h>
#undef TRE_MBSTATE
/* Returns number of bytes to add to (char *)ptr to make it
properly aligned for the type. */
#define ALIGN(ptr, type) \
- ((((long)ptr) % sizeof(type)) \
- ? (sizeof(type) - (((long)ptr) % sizeof(type))) \
+ ((((uintptr_t)ptr) % sizeof(type)) \
+ ? (sizeof(type) - (((uintptr_t)ptr) % sizeof(type))) \
: 0)
#undef MAX