Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gwenhywfar for openSUSE:Factory checked in at 2022-03-20 20:56:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gwenhywfar (Old) and /work/SRC/openSUSE:Factory/.gwenhywfar.new.25692 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gwenhywfar" Sun Mar 20 20:56:25 2022 rev:81 rq:963320 version:5.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gwenhywfar/gwenhywfar.changes 2022-02-13 00:16:16.876266761 +0100 +++ /work/SRC/openSUSE:Factory/.gwenhywfar.new.25692/gwenhywfar.changes 2022-03-20 20:57:00.346652260 +0100 @@ -1,0 +2,6 @@ +Sun Mar 20 17:12:39 UTC 2022 - Johannes Engel <jcnen...@gmail.com> + +- Update to 5.9.0 + + Bugfixes + +------------------------------------------------------------------- Old: ---- gwenhywfar-5.8.2.tar.gz gwenhywfar-5.8.2.tar.gz.asc New: ---- gwenhywfar-5.9.0.tar.gz gwenhywfar-5.9.0.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gwenhywfar.spec ++++++ --- /var/tmp/diff_new_pack.I88eXa/_old 2022-03-20 20:57:00.874653019 +0100 +++ /var/tmp/diff_new_pack.I88eXa/_new 2022-03-20 20:57:00.878653025 +0100 @@ -18,15 +18,15 @@ %define libversion 79 %define devversion 5 -%define devrelease 5.8 +%define devrelease 5.9 # Beta does not mean "before release" but a release that is considered as beta: %define _version %{version} %define _name gwenhywfar -%define releasenumber 411 -%define checksumreleasenumber 410 +%define releasenumber 415 +%define checksumreleasenumber 414 %bcond_with configure Name: gwenhywfar -Version: 5.8.2 +Version: 5.9.0 Release: 0 Summary: Multiplatform helper library for other libraries License: GPL-2.0-or-later AND LGPL-2.1-or-later ++++++ gwenhywfar-5.8.2.tar.gz -> gwenhywfar-5.9.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/ChangeLog new/gwenhywfar-5.9.0/ChangeLog --- old/gwenhywfar-5.8.2/ChangeLog 2022-01-13 22:14:20.000000000 +0100 +++ new/gwenhywfar-5.9.0/ChangeLog 2022-02-03 21:31:26.000000000 +0100 @@ -1,4 +1,31 @@ ------------------------------------------------------------------ +2022-02-03 21:23:35 +0100 Martin Preuss +Fox16 dialog: Improved handling of setIntProperty() in lists. + +------------------------------------------------------------------ +2022-02-03 21:23:00 +0100 Martin Preuss +GWEN_Dialog: Fixed a bug. + +------------------------------------------------------------------ +2022-02-03 00:05:42 +0100 Martin Preuss +Incremented version. Change setup of GWENHYWFAR_VERSION_RELEASE_STRING. +Remove the ".r" part from the version string in case of GIT versions. +Makes it easier to specify minimum versions for modules looked up by +pkg-config. + +------------------------------------------------------------------ +2022-02-03 00:04:10 +0100 Martin Preuss +dialog: Added convenience functions concerning lists often used in dialogs. +- GWEN_Dialog_ListWriteColumnSettings() +- GWEN_Dialog_ListReadColumnSettings() +- GWEN_Dialog_ListGetFirstColumnData() +- GWEN_Dialog_ListGetItemMatchingFirstColumn() + +------------------------------------------------------------------ +2022-01-13 22:35:49 +0100 Martin Preuss +Merge branch 'rel-5.8.2' + +------------------------------------------------------------------ 2022-01-13 22:14:01 +0100 Martin Preuss Prepared release 5.8.2 @@ -485,24 +512,3 @@ ------------------------------------------------------------------ 2021-06-25 02:15:51 +0200 Martin Preuss gwenbuild: Add help entry "-d". - ------------------------------------------------------------------- -2021-06-25 02:15:28 +0200 Martin Preuss -gwbuild: keep permissions when writing file via <writeFile>. - ------------------------------------------------------------------- -2021-05-16 23:24:13 +0200 Christian Stimming -minor windows fix (but more windows issues still remain) - ------------------------------------------------------------------- -2021-05-16 23:21:18 +0200 Christian Stimming -Add include flags for out-of-source build - ------------------------------------------------------------------- -2021-05-16 23:13:24 +0200 Christian Stimming -Windows: Fix erroneous assignment statement -At least the compiler shows it as warning, from c7e26c35 - ------------------------------------------------------------------- -2021-05-06 21:36:25 +0200 Martin Preuss -Added some ideas to TODO. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/configure new/gwenhywfar-5.9.0/configure --- old/gwenhywfar-5.8.2/configure 2022-01-13 22:12:55.000000000 +0100 +++ new/gwenhywfar-5.9.0/configure 2022-02-15 17:09:36.000000000 +0100 @@ -2939,8 +2939,8 @@ # versions # GWENHYWFAR_VERSION_MAJOR=5 -GWENHYWFAR_VERSION_MINOR=8 -GWENHYWFAR_VERSION_PATCHLEVEL=2 +GWENHYWFAR_VERSION_MINOR=9 +GWENHYWFAR_VERSION_PATCHLEVEL=0 GWENHYWFAR_VERSION_BUILD=0 GWENHYWFAR_VERSION_TAG="stable" @@ -2950,9 +2950,9 @@ # # SO version for Gwenhywfar # -GWENHYWFAR_SO_CURRENT="87" -GWENHYWFAR_SO_AGE="8" -GWENHYWFAR_SO_REVISION="2" +GWENHYWFAR_SO_CURRENT="88" +GWENHYWFAR_SO_AGE="9" +GWENHYWFAR_SO_REVISION="0" GWENHYWFAR_SO_EFFECTIVE="`echo \$(($GWENHYWFAR_SO_CURRENT-$GWENHYWFAR_SO_AGE))`" @@ -2984,7 +2984,7 @@ # case "$GWENHYWFAR_VERSION_TAG" in cvs|svn|git) - GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL.r${GWENHYWFAR_VERSION_BUILD}" + GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL.${GWENHYWFAR_VERSION_BUILD}" ;; stable) GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/configure.ac new/gwenhywfar-5.9.0/configure.ac --- old/gwenhywfar-5.8.2/configure.ac 2022-01-13 22:12:40.000000000 +0100 +++ new/gwenhywfar-5.9.0/configure.ac 2022-02-15 17:09:11.000000000 +0100 @@ -28,8 +28,8 @@ # versions # GWENHYWFAR_VERSION_MAJOR=5 -GWENHYWFAR_VERSION_MINOR=8 -GWENHYWFAR_VERSION_PATCHLEVEL=2 +GWENHYWFAR_VERSION_MINOR=9 +GWENHYWFAR_VERSION_PATCHLEVEL=0 GWENHYWFAR_VERSION_BUILD=0 dnl "stable", "rcX", "betaX", "cvs" GWENHYWFAR_VERSION_TAG="stable" @@ -40,9 +40,9 @@ # # SO version for Gwenhywfar # -GWENHYWFAR_SO_CURRENT="87" -GWENHYWFAR_SO_AGE="8" -GWENHYWFAR_SO_REVISION="2" +GWENHYWFAR_SO_CURRENT="88" +GWENHYWFAR_SO_AGE="9" +GWENHYWFAR_SO_REVISION="0" GWENHYWFAR_SO_EFFECTIVE="`echo \$(($GWENHYWFAR_SO_CURRENT-$GWENHYWFAR_SO_AGE))`" @@ -74,7 +74,7 @@ # case "$GWENHYWFAR_VERSION_TAG" in cvs|svn|git) - GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL.r${GWENHYWFAR_VERSION_BUILD}" + GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL.${GWENHYWFAR_VERSION_BUILD}" ;; stable) GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/gui/fox16/fox16_gui_dialog.cpp new/gwenhywfar-5.9.0/gui/fox16/fox16_gui_dialog.cpp --- old/gwenhywfar-5.8.2/gui/fox16/fox16_gui_dialog.cpp 2021-12-15 23:19:23.000000000 +0100 +++ new/gwenhywfar-5.9.0/gui/fox16/fox16_gui_dialog.cpp 2022-02-03 22:15:33.000000000 +0100 @@ -295,20 +295,19 @@ case GWEN_Widget_TypeListBox: { FOX16_GuiSortingList *f; FXFoldingItem *fi; - int i=0; f=(FOX16_GuiSortingList*)GWEN_Widget_GetImplData(w, FOX16_DIALOG_WIDGET_REAL); assert(f); switch(prop) { case GWEN_DialogProperty_Value: - fi=f->getFirstItem(); - while(fi && i<value) { - fi=fi->getNext(); - i++; + fi=f->getItem(value); + if (fi) { + f->killSelection(); + f->setCurrentItem(fi, doSignal?TRUE:FALSE); + f->selectItem(fi); + f->makeItemVisible(fi); } - if (fi && i==value) - f->setCurrentItem(fi, doSignal?TRUE:FALSE); else { DBG_ERROR(GWEN_LOGDOMAIN, "Value %d out of range", value); return GWEN_ERROR_INVALID; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/gwenhywfar.spec new/gwenhywfar-5.9.0/gwenhywfar.spec --- old/gwenhywfar-5.8.2/gwenhywfar.spec 2022-01-13 22:13:04.000000000 +0100 +++ new/gwenhywfar-5.9.0/gwenhywfar.spec 2022-02-15 17:09:46.000000000 +0100 @@ -3,7 +3,7 @@ %define name gwenhywfar -%define version 5.8.2 +%define version 5.9.0 %define rpm_cxxflags \"-O2 -march=i486 -mcpu=i586\" %define rpm_cflags \"-O2 -march=i486 -mcpu=i586\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/src/gui/dialog.c new/gwenhywfar-5.9.0/src/gui/dialog.c --- old/gwenhywfar-5.8.2/src/gui/dialog.c 2022-01-13 22:08:02.000000000 +0100 +++ new/gwenhywfar-5.9.0/src/gui/dialog.c 2022-02-03 20:25:42.000000000 +0100 @@ -41,6 +41,7 @@ #include <assert.h> #include <ctype.h> +#include <strings.h> GWEN_INHERIT_FUNCTIONS(GWEN_DIALOG) @@ -1008,4 +1009,167 @@ + + +void GWEN_Dialog_ListWriteColumnSettings(GWEN_DIALOG *dlg, + const char *widgetName, + const char *variablePrefix, + int maxColumns, + int minColumnSize, + GWEN_DB_NODE *dbPrefs) +{ + GWEN_BUFFER *nameBuf; + uint32_t posInBuffer; + int i; + + nameBuf=GWEN_Buffer_new(0, 256, 0, 1); + GWEN_Buffer_AppendString(nameBuf, variablePrefix); + posInBuffer=GWEN_Buffer_GetPos(nameBuf); + + /* write column sizes */ + GWEN_Buffer_AppendString(nameBuf, "columns"); + GWEN_DB_DeleteVar(dbPrefs, GWEN_Buffer_GetStart(nameBuf)); + for (i=0; i<maxColumns; i++) { + int j; + + j=GWEN_Dialog_GetIntProperty(dlg, "wiz_importer_list", GWEN_DialogProperty_ColumnWidth, i, -1); + if (j<minColumnSize) + j=minColumnSize; + GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_DEFAULT, GWEN_Buffer_GetStart(nameBuf), j); + } + + /* determine column to sort by */ + GWEN_Buffer_Crop(nameBuf, 0, posInBuffer); + GWEN_Buffer_AppendString(nameBuf, "sortbycolumn"); + GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_Buffer_GetStart(nameBuf), -1); + for (i=0; i<maxColumns; i++) { + int j; + + j=GWEN_Dialog_GetIntProperty(dlg, widgetName, GWEN_DialogProperty_SortDirection, i, GWEN_DialogSortDirection_None); + if (j!=GWEN_DialogSortDirection_None) { + + GWEN_DB_SetIntValue(dbPrefs, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_Buffer_GetStart(nameBuf), i); + + GWEN_Buffer_Crop(nameBuf, 0, posInBuffer); + GWEN_Buffer_AppendString(nameBuf, "sortdir"); + GWEN_DB_SetIntValue(dbPrefs, + GWEN_DB_FLAGS_OVERWRITE_VARS, + GWEN_Buffer_GetStart(nameBuf), + (j==GWEN_DialogSortDirection_Up)?1:0); + break; + } + } + GWEN_Buffer_free(nameBuf); +} + + + +void GWEN_Dialog_ListReadColumnSettings(GWEN_DIALOG *dlg, + const char *widgetName, + const char *variablePrefix, + int maxColumns, + int minColumnSize, + GWEN_DB_NODE *dbPrefs) +{ + GWEN_BUFFER *nameBuf; + uint32_t posInBuffer; + int i; + int j; + + nameBuf=GWEN_Buffer_new(0, 256, 0, 1); + GWEN_Buffer_AppendString(nameBuf, variablePrefix); + posInBuffer=GWEN_Buffer_GetPos(nameBuf); + + /* read column sizes */ + GWEN_Buffer_AppendString(nameBuf, "columns"); + for (i=0; i<maxColumns; i++) { + j=GWEN_DB_GetIntValue(dbPrefs, GWEN_Buffer_GetStart(nameBuf), i, -1); + if (j<minColumnSize) + j=minColumnSize; + GWEN_Dialog_SetIntProperty(dlg, widgetName, GWEN_DialogProperty_ColumnWidth, i, j, 0); + } + + /* determine column to sort by */ + GWEN_Buffer_Crop(nameBuf, 0, posInBuffer); + GWEN_Buffer_AppendString(nameBuf, "sortbycolumn"); + i=GWEN_DB_GetIntValue(dbPrefs, GWEN_Buffer_GetStart(nameBuf), 0, -1); + GWEN_Buffer_Crop(nameBuf, 0, posInBuffer); + GWEN_Buffer_AppendString(nameBuf, "sortdir"); + j=GWEN_DB_GetIntValue(dbPrefs, GWEN_Buffer_GetStart(nameBuf), 0, -1); + if (i>=0 && j>=0) + GWEN_Dialog_SetIntProperty(dlg, widgetName, GWEN_DialogProperty_SortDirection, i, j, 0); + GWEN_Buffer_free(nameBuf); +} + + + +char *GWEN_Dialog_ListGetFirstColumnData(GWEN_DIALOG *dlg, const char *widgetName, int row) +{ + const char *s; + + s=GWEN_Dialog_GetCharProperty(dlg, widgetName, GWEN_DialogProperty_Value, row, NULL); + if (s && *s) { + const char *p; + + p=strchr(s, '\t'); + if (p) { + int len; + + len=(int)(p-s); + if (len) { + char *res; + + res=(char *) malloc(len+1); + assert(res); + memmove(res, s, len); + res[len]=0; + return res; + } + } + else + /* no tab, use the whole line */ + return strdup(s); + } + + return NULL; +} + + + +int GWEN_Dialog_ListGetItemMatchingFirstColumn(GWEN_DIALOG *dlg, const char *widgetName, const char *dataToMatch) +{ + if (dataToMatch) { + int idx; + int lengthOfDataToMatch; + + lengthOfDataToMatch=strlen(dataToMatch); + for (idx=0; ; idx++) { + const char *s; + + s=GWEN_Dialog_GetCharProperty(dlg, widgetName, GWEN_DialogProperty_Value, idx, NULL); + if (s && *s) { + const char *p; + + p=strchr(s, '\t'); + if (p) { + int len; + + len=(int)(p-s); + if (len && len==lengthOfDataToMatch && strncasecmp(s, dataToMatch, len)==0) + return idx; + } + else if (strcasecmp(s, dataToMatch)==0) + return idx; + } + else + break; + } + } + + return -1; +} + + + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/src/gui/dialog.h new/gwenhywfar-5.9.0/src/gui/dialog.h --- old/gwenhywfar-5.8.2/src/gui/dialog.h 2021-12-15 23:19:23.000000000 +0100 +++ new/gwenhywfar-5.9.0/src/gui/dialog.h 2022-02-02 23:29:13.000000000 +0100 @@ -511,6 +511,72 @@ /*@}*/ + +/** @name Convenience Functions + * + */ +/*@{*/ + +/** + * Write current config of a list widget supporting columns (like GWEN_Widget_TypeListBox). + * + * @param dlg dialog containing the widget to handle + * @param widgetName name of the widget to handle + * @param variablePrefix prefix for the different settings, this will be prepended to the variable names used in + * the given dbPrefs settings. The following variable names will be used: + * - $(prefix)columns: one value for each column stating the column width + * - $(prefix)sortbycolumn: Index of the column to sort the list by (in most cases indicated in the GUI) + * - $(prefix)sortdir: Sort direction (GWEN_DialogSortDirection_Up or GWEN_DialogSortDirection_Down) + * @param maxColumns maximum number of columns to handle + * @param minColumnSize minimum width of each column + * @param dbPrefs GWEN_DB_NODE to store the settings in + */ +GWENHYWFAR_API +void GWEN_Dialog_ListWriteColumnSettings(GWEN_DIALOG *dlg, + const char *widgetName, + const char *variablePrefix, + int maxColumns, + int minColumnSize, + GWEN_DB_NODE *dbPrefs); + + +GWENHYWFAR_API +void GWEN_Dialog_ListReadColumnSettings(GWEN_DIALOG *dlg, + const char *widgetName, + const char *variablePrefix, + int maxColumns, + int minColumnSize, + GWEN_DB_NODE *dbPrefs); + +/** + * Get the content of the first column of a given list entry (or whole content if only single column). + * + * @return NULL or pointer to the content (caller is responsible for freeing the pointer) + * @param dlg dialog containing the widget to handle + * @param widgetName name of the widget to handle + * @param row index of the list item (beginning with 0) + */ +GWENHYWFAR_API +char *GWEN_Dialog_ListGetFirstColumnData(GWEN_DIALOG *dlg, const char *widgetName, int row); + + +/** + * Return index of list element whose content of the first column matches the given string. + * + * The idea is to have the first column of a list entry contain a unique id by which the list can be searched. + * + * @return -1 if none found, index otherwise (starting with 0) + * @param dlg dialog containing the widget to handle + * @param widgetName name of the widget to handle + * @param dataToMatch string to match against + */ +GWENHYWFAR_API +int GWEN_Dialog_ListGetItemMatchingFirstColumn(GWEN_DIALOG *dlg, const char *widgetName, const char *dataToMatch); + +/*@}*/ + + + #ifdef __cplusplus } #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/src/ressource.rc new/gwenhywfar-5.9.0/src/ressource.rc --- old/gwenhywfar-5.8.2/src/ressource.rc 2022-01-13 22:13:04.000000000 +0100 +++ new/gwenhywfar-5.9.0/src/ressource.rc 2022-02-15 17:09:46.000000000 +0100 @@ -43,8 +43,8 @@ // Version VS_VERSION_INFO VERSIONINFO - FILEVERSION 5, 8, 2, 0 - PRODUCTVERSION 5, 8, 2, 0 + FILEVERSION 5, 9, 0, 0 + PRODUCTVERSION 5, 9, 0, 0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS 0x40004L // Windows NT @@ -58,14 +58,14 @@ //VALUE "Comments", "\0" VALUE "CompanyName", " Aquamaniac\0" VALUE "FileDescription", "Multi purpose library\0" - VALUE "FileVersion", "v5.8.2\0" + VALUE "FileVersion", "v5.9.0\0" VALUE "InternalName", "Gwenhywfar\0" VALUE "LegalCopyright", "Copyright ? 2003 by Martin Preuss\0" VALUE "LegalTrademarks", "Aquamaniac\0" VALUE "OriginalFilename", "GWENHYWFAR32.DLL\0" //VALUE "PrivateBuild", "\0" VALUE "ProductName", "Gwenhywfar\0" - VALUE "ProductVersion", "v5.8.2stable-0\0" + VALUE "ProductVersion", "v5.9.0stable-0\0" VALUE "Author", "Martin Preuss\0" VALUE "Email", "mar...@libchipcard.de\0" VALUE "Homepage", "http://gwenhywfar.sf.net/\0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/src/version.h new/gwenhywfar-5.9.0/src/version.h --- old/gwenhywfar-5.8.2/src/version.h 2022-01-13 22:13:04.000000000 +0100 +++ new/gwenhywfar-5.9.0/src/version.h 2022-02-15 17:09:46.000000000 +0100 @@ -31,12 +31,12 @@ #define GWEN_VERSION_MAJOR 5 #define GWENHYWFAR_VERSION_MAJOR 5 -#define GWENHYWFAR_VERSION_MINOR 8 -#define GWENHYWFAR_VERSION_PATCHLEVEL 2 +#define GWENHYWFAR_VERSION_MINOR 9 +#define GWENHYWFAR_VERSION_PATCHLEVEL 0 #define GWENHYWFAR_VERSION_BUILD 0 #define GWENHYWFAR_VERSION_TAG "stable" -#define GWENHYWFAR_VERSION_FULL_STRING "5.8.2stable-0" -#define GWENHYWFAR_VERSION_STRING "5.8.2" +#define GWENHYWFAR_VERSION_FULL_STRING "5.9.0stable-0" +#define GWENHYWFAR_VERSION_STRING "5.9.0" #define GWENHYWFAR_SO_EFFECTIVE 79 #define GWENHYWFAR_SO_EFFECTIVE_STR "79" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gwenhywfar-5.8.2/tools/gwenbuild/parser/parser.c new/gwenhywfar-5.9.0/tools/gwenbuild/parser/parser.c --- old/gwenhywfar-5.8.2/tools/gwenbuild/parser/parser.c 2021-11-14 14:19:06.000000000 +0100 +++ new/gwenhywfar-5.9.0/tools/gwenbuild/parser/parser.c 2022-02-06 21:39:04.000000000 +0100 @@ -688,14 +688,23 @@ const char *fileName; GWEN_BUFFER *fileNameBuffer; GWB_FILE *file; + const char *installPath; int rv; + rv=GWEN_XMLNode_ExpandProperties(xmlNode, GWB_Context_GetVars(currentContext)); + if (rv<0) { + DBG_INFO(NULL, "here (%d)", rv); + return rv; + } + fileName=GWEN_XMLNode_GetProperty(xmlNode, "name", NULL); if (!(fileName && *fileName)) { DBG_ERROR(NULL, "No name for <writeFile>"); return GWEN_ERROR_GENERIC; } + installPath=GWEN_XMLNode_GetProperty(xmlNode, "install", NULL); + fileNameBuffer=_getSourcePathForFileName(currentContext, fileName); GWEN_Buffer_AppendString(fileNameBuffer, ".in"); @@ -711,6 +720,10 @@ GWB_Context_GetCurrentRelativeDir(currentContext), fileName); GWB_File_AddFlags(file, GWB_FILE_FLAGS_GENERATED); + if (installPath && *installPath) { + GWB_File_AddFlags(file, GWB_FILE_FLAGS_INSTALL); + GWB_File_SetInstallPath(file, installPath); + } /* add input file */ GWEN_Buffer_Reset(fileNameBuffer);