[Python-modules-commits] [sip4] 01/03: New upstream version 4.19.3+dfsg
Dmitry Shachnev
mitya57 at moszumanska.debian.org
Thu Jul 6 08:30:24 UTC 2017
This is an automated email from the git hooks/post-receive script.
mitya57 pushed a commit to branch debian/master
in repository sip4.
commit d45c7ffcc2a717a34f3403a49ddd0db6d35b0909
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date: Thu Jul 6 11:26:14 2017 +0300
New upstream version 4.19.3+dfsg
---
ChangeLog | 161 ++
NEWS | 7 +
configure.py | 4 +-
sipgen/export.c | 64 +-
sipgen/gencode.c | 157 +-
sipgen/lexer.c | 2380 ++++++++++++-------------
sipgen/main.c | 18 +-
sipgen/metasrc/lexer.l | 31 +-
sipgen/metasrc/parser.y | 221 ++-
sipgen/parser.c | 3809 +++++++++++++++++++++-------------------
sipgen/parser.h | 4 +-
sipgen/sip.h | 26 +-
sipgen/transform.c | 34 +-
sipgen/type_hints.c | 73 +-
siplib/objmap.c | 4 +-
siplib/sip.h.in | 44 +-
siplib/sipint.h | 4 +-
siplib/siplib.c.in | 154 +-
sphinx/c_api.rst | 64 +-
sphinx/conf.py | 8 +-
sphinx/introduction.rst | 2 +-
sphinx/specification_files.rst | 3 -
22 files changed, 4053 insertions(+), 3219 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3f18cd6..0d67042 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,166 @@
+2017-07-03 Phil Thompson <phil at riverbankcomputing.com>
+
+ * NEWS:
+ Released as v4.19.3.
+ [14685a6e736e] [4.19.3] <4.19-maint>
+
+2017-07-02 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/export.c, sipgen/type_hints.c:
+ Fixes for hidden namespaces in generated XML.
+ [489321fd2475] <4.19-maint>
+
+2017-06-28 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sphinx/specification_files.rst:
+ Fixed an out of date statement in the docs.
+ [21539b0e74c6] <4.19-maint>
+
+2017-06-22 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/metasrc/parser.y, sipgen/sip.h.in:
+ Don't report template arguments of uninstantiated templates as
+ undefined classes.
+ [a69025738247] <4.19-maint>
+
+2017-06-21 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/metasrc/parser.y:
+ Allow empty class bodies.
+ [265b531cb6e4] <4.19-maint>
+
+ * sipgen/gencode.c:
+ Fixed a bug handling double quotes as the default value of a char
+ argument.
+ [d86c23976619] <4.19-maint>
+
+2017-06-16 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/main.c, sipgen/metasrc/parser.y, sipgen/sip.h.in,
+ sipgen/transform.c:
+ Completed the implementation of non-strict parsing.
+ [8b5e498d13dd] <4.19-maint>
+
+ * sipgen/metasrc/parser.y, sipgen/sip.h.in:
+ The relevant data structures now retain the platform information.
+ [15b6c00166a7] <4.19-maint>
+
+ * sipgen/gencode.c, sipgen/main.c, sipgen/metasrc/parser.y,
+ sipgen/sip.h.in:
+ Added the stub of non-strict parsing that saves (but otherwise
+ ignores) the platform information.
+ [b05b36a086c2] <4.19-maint>
+
+ * sipgen/gencode.c, sipgen/metasrc/lexer.l:
+ Improve the handling of string constants to properly support escape
+ characters.
+ [495a7635a52d] <4.19-maint>
+
+ * sipgen/metasrc/parser.y:
+ Make sure any expanded template ctor call is a deep copy.
+ [141c98e741b6] <4.19-maint>
+
+2017-06-15 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/metasrc/parser.y:
+ Expand template ctor calls when they are the default values of an
+ argument.
+ [5df8870c61a7] <4.19-maint>
+
+2017-06-10 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/gencode.c:
+ Fixed a regression in the invocation of the dtor of shadow classes.
+ [e833dc3f9a2f] <4.19-maint>
+
+2017-06-06 Phil Thompson <phil at riverbankcomputing.com>
+
+ * .hgignore:
+ Updated .hgignore for the changed build directory.
+ [b2fb251d3500] <4.19-maint>
+
+2017-05-27 Phil Thompson <phil at riverbankcomputing.com>
+
+ * siplib/siplib.c.in, sphinx/c_api.rst:
+ Documented the event handler mechanism.
+ [aee09bdf1206] <4.19-maint>
+
+ * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in:
+ Implemented sipEventType and sipRegisterEventHandler().
+ [2a4bcf305afa] <4.19-maint>
+
+2017-05-26 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/gencode.c, siplib/objmap.c, siplib/sip.h.in.in,
+ siplib/sipint.h, siplib/siplib.c.in, sphinx/c_api.rst:
+ Renamed sipCommonDtor() to sipInstanceDestroyed() and added it to
+ the public API.
+ [e7d4e6661fa0] <4.19-maint>
+
+ * sipgen/metasrc/parser.y:
+ The parser will now accept class template definitions within a
+ class. The generated code is untested.
+ [ec57a6e03eb3] <4.19-maint>
+
+2017-05-23 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/type_hints.c:
+ Added support for type hints for properties from Scott Maxwell.
+ [c861fe0ef6ca] <4.19-maint>
+
+2017-05-15 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/gencode.c:
+ Fixes for 'char *&' argument types.
+ [684e23c995a3] <4.19-maint>
+
+2017-05-05 Phil Thompson <phil at riverbankcomputing.com>
+
+ * siplib/siplib.c.in:
+ Removed a duplicate call.
+ [afe3d3efc82d] <4.19-maint>
+
+ * sipgen/gencode.c:
+ Don't try and initialise the result of a virtual when the type is a
+ template.
+ [cce4fe835faf] <4.19-maint>
+
+2017-04-27 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/gencode.c, siplib/sip.h.in.in, siplib/siplib.c.in:
+ Added sipPrintObject() to the public C API.
+ [10e10b1a2d68] <4.19-maint>
+
+2017-04-24 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/gencode.c, siplib/siplib.c.in:
+ Fixed regressions in the handling of exceptions.
+ [974a4d77314b] <4.19-maint>
+
+ * sipgen/transform.c, sphinx/conf.py.in:
+ Minor cosmetic fixes.
+ [4ea35fd2187d] <4.19-maint>
+
+2017-04-05 Phil Thompson <phil at riverbankcomputing.com>
+
+ * siplib/siplib.c.in:
+ Effectively re-applied changeset dc06058c99dd. If there is a real
+ problem here then we don't yet fully understand it.
+ [95a493a417e8] <4.19-maint>
+
+2017-04-02 Phil Thompson <phil at riverbankcomputing.com>
+
+ * sipgen/transform.c:
+ Fix a regression so that a shadow class is not generated if there is
+ a private dtor.
+ [6b09a6d578e8] <4.19-maint>
+
2017-03-30 Phil Thompson <phil at riverbankcomputing.com>
+ * .hgtags:
+ Added tag 4.19.2 for changeset 1df924860f57
+ [6209a625ac87] <4.19-maint>
+
* NEWS:
Released as v4.19.2.
[1df924860f57] [4.19.2] <4.19-maint>
diff --git a/NEWS b/NEWS
index 1df01bc..07b9077 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,10 @@
+v4.19.3 3rd July 2017
+ - Added support for type hints for properties.
+ - Added sipEventType and sipRegisterEventHandler() to the C API.
+ - Added sipInstanceDestroyed() to the C API.
+ - Added sipPrintObject() to the C API.
+ - Bug fixes.
+
v4.19.2 30th March 2017
- Bug fixes.
diff --git a/configure.py b/configure.py
index fe5ca92..b4d8bd7 100644
--- a/configure.py
+++ b/configure.py
@@ -30,8 +30,8 @@ import siputils
# Initialise the globals.
-sip_version = 0x041302
-sip_version_str = "4.19.2"
+sip_version = 0x041303
+sip_version_str = "4.19.3"
py_version = sys.hexversion >> 8
py_platform = sys.platform
plat_py_site_dir = None
diff --git a/sipgen/export.c b/sipgen/export.c
index e402a48..5c93fc1 100644
--- a/sipgen/export.c
+++ b/sipgen/export.c
@@ -354,45 +354,45 @@ static void xmlClass(sipSpec *pt, moduleDef *mod, classDef *cd, FILE *fp)
return;
}
- xmlIndent(indent++, fp);
- fprintf(fp, "<Class name=\"");
- prScopedPythonName(fp, cd->ecd, cd->pyname->text);
- fprintf(fp, "\"");
+ if (!isHiddenNamespace(cd))
+ {
+ xmlIndent(indent++, fp);
+ fprintf(fp, "<Class name=\"");
+ prScopedPythonName(fp, cd->ecd, cd->pyname->text);
+ fprintf(fp, "\"");
- if (cd->picklecode != NULL)
- fprintf(fp, " pickle=\"1\"");
+ if (cd->picklecode != NULL)
+ fprintf(fp, " pickle=\"1\"");
- if (cd->convtocode != NULL)
- fprintf(fp, " convert=\"1\"");
+ if (cd->convtocode != NULL)
+ fprintf(fp, " convert=\"1\"");
- if (cd->convfromcode != NULL)
- fprintf(fp, " convertfrom=\"1\"");
+ if (cd->convfromcode != NULL)
+ fprintf(fp, " convertfrom=\"1\"");
- if (cd->real != NULL)
- fprintf(fp, " extends=\"%s\"", cd->real->iff->module->name);
+ if (cd->real != NULL)
+ fprintf(fp, " extends=\"%s\"", cd->real->iff->module->name);
- if (cd->supers != NULL)
- {
- classList *cl;
+ if (cd->supers != NULL)
+ {
+ classList *cl;
- fprintf(fp, " inherits=\"");
+ fprintf(fp, " inherits=\"");
- for (cl = cd->supers; cl != NULL; cl = cl->next)
- {
- if (cl != cd->supers)
- fprintf(fp, " ");
+ for (cl = cd->supers; cl != NULL; cl = cl->next)
+ {
+ if (cl != cd->supers)
+ fprintf(fp, " ");
- prScopedPythonName(fp, cl->cd->ecd, cl->cd->pyname->text);
+ prScopedPythonName(fp, cl->cd->ecd, cl->cd->pyname->text);
+ }
+
+ fprintf(fp, "\"");
}
- fprintf(fp, "\"");
+ fprintf(fp, ">\n");
}
- fprintf(fp, ">\n");
-
- xmlEnums(pt, mod, cd, indent, fp);
- xmlVars(pt, mod, cd, indent, fp);
-
for (ct = cd->ctors; ct != NULL; ct = ct->next)
{
if (isPrivateCtor(ct))
@@ -402,11 +402,17 @@ static void xmlClass(sipSpec *pt, moduleDef *mod, classDef *cd, FILE *fp)
xmlCtor(pt, cd, ct, TRUE, indent, fp);
}
+ xmlEnums(pt, mod, cd, indent, fp);
+ xmlVars(pt, mod, cd, indent, fp);
+
for (md = cd->members; md != NULL; md = md->next)
xmlFunction(pt, cd, md, cd->overs, indent, fp);
- xmlIndent(--indent, fp);
- fprintf(fp, "</Class>\n");
+ if (!isHiddenNamespace(cd))
+ {
+ xmlIndent(--indent, fp);
+ fprintf(fp, "</Class>\n");
+ }
}
diff --git a/sipgen/gencode.c b/sipgen/gencode.c
index 0260aaf..7ac6102 100644
--- a/sipgen/gencode.c
+++ b/sipgen/gencode.c
@@ -148,7 +148,7 @@ static void generateHandleResult(moduleDef *, overDef *, int, int, char *,
FILE *);
static void generateOrdinaryFunction(sipSpec *pt, moduleDef *mod,
classDef *c_scope, mappedTypeDef *mt_scope, memberDef *md, FILE *fp);
-static void generateSimpleFunctionCall(fcallDef *, FILE *);
+static void generateSimpleFunctionCall(fcallDef *, int, FILE *);
static int generateResultVar(ifaceFileDef *scope, overDef *od, argDef *res,
const char *indent, FILE *fp);
static void generateFunctionCall(classDef *c_scope, mappedTypeDef *mt_scope,
@@ -293,12 +293,13 @@ static void generateGlobalFunctionTableEntries(sipSpec *pt, moduleDef *mod,
memberDef *members, FILE *fp);
static void prTemplateType(FILE *fp, ifaceFileDef *scope, templateDef *td,
int remove_global_scope);
+static int isString(argDef *ad);
/*
* Generate the code from a specification.
*/
-void generateCode(sipSpec *pt, char *codeDir, char *buildfile, char *docFile,
+void generateCode(sipSpec *pt, char *codeDir, char *buildFile, char *docFile,
const char *srcSuffix, int except, int trace, int releaseGIL,
int parts, stringList *needed_qualifiers, stringList *xsl,
const char *consModule, int docs, int py_debug)
@@ -340,8 +341,8 @@ void generateCode(sipSpec *pt, char *codeDir, char *buildfile, char *docFile,
}
/* Generate the build file. */
- if (buildfile != NULL)
- generateBuildFile(pt, buildfile, srcSuffix, consModule);
+ if (buildFile != NULL)
+ generateBuildFile(pt, buildFile, srcSuffix, consModule);
}
@@ -468,14 +469,52 @@ void generateExpression(valueDef *vd, int in_str, FILE *fp)
switch (vd->vtype)
{
case qchar_value:
- prcode(fp,"'%c'",vd->u.vqchar);
+ if (vd->u.vqchar == '"' && in_str)
+ prcode(fp, "'\\\"'");
+ else
+ prcode(fp, "'%c'", vd->u.vqchar);
+
break;
case string_value:
{
- const char *quote = (in_str ? "\\\"" : "\"");
+ const char *cp, *quote = (in_str ? "\\\"" : "\"");
+
+ prcode(fp, "%s", quote);
+
+ for (cp = vd->u.vstr; *cp != '\0'; ++cp)
+ {
+ char ch = *cp;
+ int escape;
+
+ if (strchr("\\\"", ch) != NULL)
+ {
+ escape = TRUE;
+ }
+ else if (ch == '\n')
+ {
+ escape = TRUE;
+ ch = 'n';
+ }
+ else if (ch == '\r')
+ {
+ escape = TRUE;
+ ch = 'r';
+ }
+ else if (ch == '\t')
+ {
+ escape = TRUE;
+ ch = 't';
+ }
+ else
+ {
+ escape = FALSE;
+ }
+
+ prcode(fp, "%s%c", (escape ? "\\" : ""), ch);
+ }
- prcode(fp,"%s%s%s", quote, vd->u.vstr, quote);
+ prcode(fp, "%s", quote);
}
break;
@@ -497,7 +536,7 @@ void generateExpression(valueDef *vd, int in_str, FILE *fp)
break;
case fcall_value:
- generateSimpleFunctionCall(vd->u.fcd,fp);
+ generateSimpleFunctionCall(vd->u.fcd, in_str, fp);
break;
}
@@ -647,7 +686,7 @@ static void generateInternalAPIHeader(sipSpec *pt, moduleDef *mod,
"#define sipParseArgs sipAPI_%s->api_parse_args\n"
"#define sipParseKwdArgs sipAPI_%s->api_parse_kwd_args\n"
"#define sipParsePair sipAPI_%s->api_parse_pair\n"
-"#define sipCommonDtor sipAPI_%s->api_common_dtor\n"
+"#define sipInstanceDestroyed sipAPI_%s->api_instance_destroyed\n"
"#define sipConvertFromSequenceIndex sipAPI_%s->api_convert_from_sequence_index\n"
"#define sipConvertFromVoidPtr sipAPI_%s->api_convert_from_void_ptr\n"
"#define sipConvertToVoidPtr sipAPI_%s->api_convert_to_void_ptr\n"
@@ -762,6 +801,7 @@ static void generateInternalAPIHeader(sipSpec *pt, moduleDef *mod,
"#define sipIsDerivedClass sipAPI_%s->api_is_derived_class\n"
"#define sipGetUserObject sipAPI_%s->api_get_user_object\n"
"#define sipSetUserObject sipAPI_%s->api_set_user_object\n"
+"#define sipRegisterEventHandler sipAPI_%s->api_register_event_handler\n"
"\n"
"/* These are deprecated. */\n"
"#define sipMapStringToClass sipAPI_%s->api_map_string_to_class\n"
@@ -771,6 +811,7 @@ static void generateInternalAPIHeader(sipSpec *pt, moduleDef *mod,
"#define sipConvertToArray sipAPI_%s->api_convert_to_array\n"
"#define sipConvertToTypedArray sipAPI_%s->api_convert_to_typed_array\n"
"#define sipEnableGC sipAPI_%s->api_enable_gc\n"
+"#define sipPrintObject sipAPI_%s->api_print_object\n"
"#define sipWrapper_Check(w) PyObject_TypeCheck((w), sipAPI_%s->api_wrapper_type)\n"
"#define sipGetWrapper(p, wt) sipGetPyObject((p), (wt)->wt_td)\n"
"#define sipReleaseInstance(p, wt, s) sipReleaseType((p), (wt)->wt_td, (s))\n"
@@ -917,6 +958,8 @@ static void generateInternalAPIHeader(sipSpec *pt, moduleDef *mod,
,mname
,mname
,mname
+ ,mname
+ ,mname
,mname);
/* The name strings. */
@@ -2008,8 +2051,8 @@ static void generateCpp(sipSpec *pt, moduleDef *mod, const char *codeDir,
if (xd->iff->module == mld->module && xd->exceptionnr == i)
{
prcode(fp,
-" {\"%s.%s\"},\n"
- , mld->module->name, xd->pyname);
+" {\"%s\"},\n"
+ , xd->pyname);
}
}
}
@@ -2155,7 +2198,7 @@ static void generateCpp(sipSpec *pt, moduleDef *mod, const char *codeDir,
"\n"
"\n"
"PyObject *sipExportedExceptions_%s[%d];\n"
- , mname, mod->nrexceptions);
+ , mname, mod->nrexceptions + 1);
/* Generate any API versions table. */
if (mod->api_ranges != NULL || mod->api_versions != NULL)
@@ -2551,6 +2594,14 @@ static void generateCpp(sipSpec *pt, moduleDef *mod, const char *codeDir,
, xd->pyname, xd->iff->module->name, xd->exceptionnr);
}
+ if (mod->nrexceptions > 0)
+ prcode(fp,
+"\n"
+" sipExportedExceptions_%s[%d] = NULL;\n"
+ , mname, mod->nrexceptions);
+
+ /* Generate the interface source files. */
+
/* Generate any post-initialisation code. */
generateCppCodeBlock(mod->postinitcode, fp);
@@ -6181,7 +6232,7 @@ static void generateClassFunctions(sipSpec *pt, moduleDef *mod, classDef *cd,
prcode(fp,
"static void release_%L(void *%s, int%s)\n"
"{\n"
- , cd->iff, (need_ptr ? "sipCppV" : ""), (need_state ? " sipIsDerived" : ""));
+ , cd->iff, (need_ptr ? "sipCppV" : ""), (need_state ? " sipState" : ""));
if (need_cast_ptr)
{
@@ -6236,7 +6287,7 @@ static void generateClassFunctions(sipSpec *pt, moduleDef *mod, classDef *cd,
else if (hasShadow(cd))
{
prcode(fp,
-" if (sipIsDerived)\n"
+" if (sipState & SIP_DERIVED_CLASS)\n"
" delete reinterpret_cast<sip%C *>(sipCppV);\n"
, classFQCName(cd));
@@ -6951,7 +7002,7 @@ static void generateShadowCode(sipSpec *pt, moduleDef *mod, classDef *cd,
generateCppCodeBlock(cd->dtorcode,fp);
prcode(fp,
-" sipCommonDtor(sipPySelf);\n"
+" sipInstanceDestroyed(sipPySelf);\n"
"}\n"
);
}
@@ -7953,7 +8004,7 @@ static void generateVirtualHandler(moduleDef *mod, virtHandlerDef *vhd,
prcode(fp," %ssipRes",(res_isref ? "*" : ""));
- if ((res->atype == class_type || res->atype == mapped_type) && res->nrderefs == 0)
+ if ((res->atype == class_type || res->atype == mapped_type || res->atype == template_type) && res->nrderefs == 0)
{
if (res->atype == class_type)
{
@@ -8687,6 +8738,7 @@ static void generateUsedIncludes(ifaceFileList *iffl, FILE *fp)
*/
static void generateModuleAPI(sipSpec *pt, moduleDef *mod, FILE *fp)
{
+ int no_exceptions = TRUE;
classDef *cd;
mappedTypeDef *mtd;
exceptionDef *xd;
@@ -8702,10 +8754,21 @@ static void generateModuleAPI(sipSpec *pt, moduleDef *mod, FILE *fp)
for (xd = pt->exceptions; xd != NULL; xd = xd->next)
if (xd->iff->module == mod && xd->exceptionnr >= 0)
- prcode(fp,
+ {
+ if (no_exceptions)
+ {
+ prcode(fp,
+"\n"
+"/* The exceptions defined in this module. */\n"
+"extern PyObject *sipExportedExceptions_%s[];\n"
"\n"
+ , mod->name);
+ }
+
+ prcode(fp,
"#define sipException_%C sipExportedExceptions_%s[%d]\n"
, xd->iff->fqcname, mod->name, xd->exceptionnr);
+ }
generateEnumMacros(pt, mod, NULL, NULL, fp);
@@ -9197,7 +9260,7 @@ static void generateCallArgs(moduleDef *mod, signatureDef *sd,
case ustring_type:
case string_type:
case wstring_type:
- if (ad->nrderefs > (isOutArg(ad) ? 0 : 1))
+ if (ad->nrderefs > (isOutArg(ad) ? 0 : 1) && !isReference(ad))
ind = "&";
break;
@@ -9703,7 +9766,7 @@ static void generateDefaultValue(moduleDef *mod, argDef *ad, int argnr,
/*
* Generate a simple function call.
*/
-static void generateSimpleFunctionCall(fcallDef *fcd,FILE *fp)
+static void generateSimpleFunctionCall(fcallDef *fcd, int in_str, FILE *fp)
{
int i;
@@ -9714,7 +9777,7 @@ static void generateSimpleFunctionCall(fcallDef *fcd,FILE *fp)
if (i > 0)
prcode(fp,",");
- generateExpression(fcd->args[i], FALSE, fp);
+ generateExpression(fcd->args[i], in_str, fp);
}
prcode(fp,")");
@@ -12175,6 +12238,20 @@ static const char *resultOwner(overDef *od)
/*
+ * Check if an argument is a string rather than a char type.
+ */
+static int isString(argDef *ad)
+{
+ int nrderefs = ad->nrderefs;
+
+ if (isOutArg(ad) && !isReference(ad))
+ --nrderefs;
+
+ return nrderefs > 0;
+}
+
+
+/*
* Return the format string used by sipBuildResult() for a particular type.
*/
static const char *getBuildResultFormat(argDef *ad)
@@ -12196,15 +12273,15 @@ static const char *getBuildResultFormat(argDef *ad)
case ascii_string_type:
case latin1_string_type:
case utf8_string_type:
- return (ad->nrderefs > (isOutArg(ad) ? 1 : 0)) ? "A" : "a";
+ return isString(ad) ? "A" : "a";
case sstring_type:
case ustring_type:
case string_type:
- return (ad->nrderefs > (isOutArg(ad) ? 1 : 0)) ? "s" : "c";
+ return isString(ad) ? "s" : "c";
case wstring_type:
- return (ad->nrderefs > (isOutArg(ad) ? 1 : 0)) ? "x" : "w";
+ return isString(ad) ? "x" : "w";
case enum_type:
return (ad->u.ed->fqcname != NULL) ? "F" : "e";
@@ -13310,48 +13387,48 @@ static int generateArgParser(moduleDef *mod, signatureDef *sd,
switch (ad->atype)
{
case ascii_string_type:
- if (ad->nrderefs == 0 || (isOutArg(ad) && ad->nrderefs == 1))
- fmt = "aA";
- else
+ if (isString(ad))
fmt = "AA";
+ else
+ fmt = "aA";
break;
case latin1_string_type:
- if (ad->nrderefs == 0 || (isOutArg(ad) && ad->nrderefs == 1))
- fmt = "aL";
- else
+ if (isString(ad))
fmt = "AL";
+ else
+ fmt = "aL";
break;
case utf8_string_type:
- if (ad->nrderefs == 0 || (isOutArg(ad) && ad->nrderefs == 1))
- fmt = "a8";
- else
+ if (isString(ad))
fmt = "A8";
+ else
+ fmt = "a8";
break;
case sstring_type:
case ustring_type:
case string_type:
- if (ad->nrderefs == 0 || (isOutArg(ad) && ad->nrderefs == 1))
- fmt = "c";
- else if (isArray(ad))
+ if (isArray(ad))
fmt = "k";
- else
+ else if (isString(ad))
fmt = "s";
+ else
+ fmt = "c";
break;
case wstring_type:
- if (ad->nrderefs == 0 || (isOutArg(ad) && ad->nrderefs == 1))
- fmt = "w";
- else if (isArray(ad))
+ if (isArray(ad))
fmt = "K";
- else
+ else if (isString(ad))
fmt = "x";
+ else
+ fmt = "w";
break;
diff --git a/sipgen/lexer.c b/sipgen/lexer.c
index fb9508e..d28d18f 100644
--- a/sipgen/lexer.c
+++ b/sipgen/lexer.c
@@ -1,6 +1,6 @@
-#line 2 "sip-4.19.2/sipgen/lexer.c"
+#line 2 "sip-4.19.3/sipgen/lexer.c"
-#line 4 "sip-4.19.2/sipgen/lexer.c"
+#line 4 "sip-4.19.3/sipgen/lexer.c"
#define YY_INT_ALIGNED short int
@@ -370,7 +370,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1221] =
+static yyconst flex_int16_t yy_accept[1222] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
167, 165, 104, 107, 165, 165, 165, 165, 165, 109,
@@ -379,133 +379,134 @@ static yyconst flex_int16_t yy_accept[1221] =
112, 165, 104, 165, 164, 163, 164, 164, 119, 117,
119, 106, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 104,
- 165, 105, 104, 165, 0, 114, 0, 115, 0, 109,
- 0, 113, 110, 113, 116, 108, 110, 0, 110, 109,
- 0, 62, 112, 112, 112, 112, 112, 112, 112, 112,
+ 165, 105, 104, 165, 0, 114, 0, 0, 115, 0,
+ 109, 0, 113, 110, 113, 116, 108, 110, 0, 110,
+ 109, 0, 62, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 63, 0, 0, 0, 0, 0,
+ 112, 112, 112, 112, 112, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 118, 112,
- 112, 112, 112, 112, 112, 112, 84, 112, 112, 112,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 118,
+ 112, 112, 112, 112, 112, 112, 112, 84, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 0, 0, 0, 0, 0, 0, 110, 81, 113, 110,
- 108, 110, 0, 110, 111, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 41, 112,
+ 112, 0, 0, 0, 0, 0, 0, 110, 81, 113,
+ 110, 108, 110, 0, 110, 111, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112, 112, 41,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 0, 0,
+ 112, 112, 112, 112, 112, 112, 112, 112, 112, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 112, 112, 112, 112, 112, 112, 83, 112,
- 112, 112, 112, 112, 112, 112, 92, 112, 112, 112,
- 112, 112, 0, 0, 110, 54, 112, 112, 112, 39,
- 37, 112, 112, 112, 47, 112, 112, 112, 112, 42,
- 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
-
- 112, 112, 52, 112, 112, 112, 45, 112, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 155, 10,
+ 0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 112, 112, 112, 112, 112, 112, 83,
+ 112, 112, 112, 112, 112, 112, 112, 92, 112, 112,
+ 112, 112, 112, 0, 0, 110, 54, 112, 112, 112,
+ 39, 37, 112, 112, 112, 47, 112, 112, 112, 112,
+ 42, 112, 112, 112, 112, 112, 112, 112, 112, 112,
+
+ 112, 112, 112, 52, 112, 112, 112, 45, 112, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 155,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 162, 112, 102, 112, 112, 112, 112, 112, 112,
- 112, 88, 112, 112, 112, 112, 112, 95, 112, 112,
- 11, 112, 112, 112, 112, 112, 112, 112, 26, 50,
- 112, 112, 53, 61, 43, 112, 112, 112, 112, 112,
- 40, 112, 112, 34, 112, 112, 112, 58, 112, 112,
+ 0, 0, 162, 112, 102, 112, 112, 112, 112, 112,
+ 112, 112, 88, 112, 112, 112, 112, 112, 95, 112,
+ 112, 11, 112, 112, 112, 112, 112, 112, 112, 26,
+ 50, 112, 112, 53, 61, 43, 112, 112, 112, 112,
+ 112, 40, 112, 112, 34, 112, 112, 112, 58, 112,
- 112, 112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 112, 112, 112, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 103, 112, 112, 112,
- 112, 112, 112, 112, 112, 90, 112, 112, 112, 112,
- 112, 112, 112, 36, 112, 112, 112, 112, 112, 112,
- 112, 44, 112, 112, 112, 112, 112, 28, 112, 48,
- 51, 27, 112, 112, 112, 112, 112, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 103, 112, 112,
+ 112, 112, 112, 112, 112, 112, 90, 112, 112, 112,
+ 112, 112, 112, 112, 36, 112, 112, 112, 112, 112,
+ 112, 112, 44, 112, 112, 112, 112, 112, 28, 112,
+ 48, 51, 27, 112, 112, 112, 112, 112, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 112, 112, 82, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 112, 35, 112,
+ 0, 0, 0, 0, 112, 112, 112, 82, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112, 112, 35,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 30, 112, 31, 112, 55,
- 112, 46, 38, 0, 0, 0, 0, 0, 0, 0,
+ 112, 112, 112, 112, 112, 112, 30, 112, 31, 112,
+ 55, 112, 46, 38, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
- 0, 0, 0, 0, 0, 20, 0, 0, 0, 23,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 101, 33, 112, 112,
+ 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 101, 33, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 73, 112, 59, 112, 57, 112, 60, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 120, 0, 0, 0, 0, 125, 13, 0, 0, 0,
- 159, 0, 17, 0, 0, 18, 0, 0, 0, 0,
+ 112, 73, 112, 59, 112, 57, 112, 60, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,
+ 0, 120, 0, 0, 0, 0, 125, 13, 0, 0,
+ 0, 159, 0, 17, 0, 0, 18, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 160, 0, 0, 0, 0, 0, 0, 0, 112, 112,
- 112, 112, 86, 87, 89, 112, 112, 112, 112, 112,
- 32, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 56, 29, 0, 0, 0,
+ 0, 160, 0, 0, 0, 0, 0, 0, 0, 112,
+ 112, 112, 112, 86, 87, 89, 112, 112, 112, 112,
+ 112, 32, 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 56, 29, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 157, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 0, 25, 135, 0, 0,
- 132, 0, 0, 0, 112, 112, 112, 112, 112, 93,
- 94, 112, 112, 112, 112, 112, 67, 66, 112, 112,
+ 0, 0, 0, 157, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 24, 0, 25, 135, 0,
+ 0, 132, 0, 0, 0, 112, 112, 112, 112, 112,
+ 93, 94, 112, 112, 112, 112, 112, 67, 66, 112,
- 112, 70, 112, 112, 72, 112, 112, 112, 0, 0,
+ 112, 112, 70, 112, 112, 72, 112, 112, 112, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 154, 12, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 154, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 22, 0, 0, 0, 0, 151, 0, 0, 0,
- 0, 0, 112, 112, 112, 112, 112, 112, 112, 74,
- 112, 112, 112, 69, 65, 80, 112, 112, 112, 112,
- 79, 158, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 22, 0, 0, 0, 0, 151, 0, 0,
+ 0, 0, 0, 112, 112, 112, 112, 112, 112, 112,
+ 74, 112, 112, 112, 69, 65, 80, 112, 112, 112,
+ 112, 79, 158, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 19, 136, 134,
+ 0, 0, 0, 0, 0, 0, 0, 0, 19, 136,
- 0, 0, 149, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 112, 112, 112, 112, 112, 112,
- 71, 112, 64, 112, 112, 77, 78, 0, 0, 0,
+ 134, 0, 0, 149, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 112, 112, 112, 112, 112, 112,
+ 112, 71, 112, 64, 112, 112, 77, 78, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 156, 0, 0, 0, 141, 0, 0, 0,
+ 0, 0, 0, 156, 0, 0, 0, 141, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 112, 112, 112, 112, 112, 112,
- 112, 75, 76, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 112, 112, 112, 112, 112, 112,
+ 112, 112, 75, 76, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 148, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 148, 0, 0, 0, 0,
- 0, 0, 153, 0, 0, 0, 0, 112, 112, 112,
- 112, 112, 112, 112, 68, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 0, 0,
- 137, 150, 0, 0, 0, 0, 0, 112, 112, 112,
- 112, 91, 112, 112, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 153, 0, 0, 0, 0, 112, 112,
+ 112, 112, 112, 112, 112, 68, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 140, 0, 0, 0, 0, 0, 127, 0,
- 0, 0, 0, 112, 99, 112, 112, 112, 97, 142,
- 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
-
- 0, 7, 8, 0, 0, 0, 0, 0, 0, 21,
- 0, 0, 0, 138, 0, 0, 112, 112, 112, 112,
+ 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
+ 0, 137, 150, 0, 0, 0, 0, 0, 112, 112,
+ 112, 112, 91, 112, 112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 131, 0, 126, 0, 0, 0, 0,
- 0, 112, 112, 85, 112, 0, 0, 146, 0, 0,
- 0, 0, 0, 122, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 112, 112, 96, 0, 0, 0, 0,
- 5, 0, 0, 0, 124, 0, 129, 0, 0, 0,
- 139, 0, 112, 112, 147, 144, 0, 143, 121, 0,
- 0, 0, 0, 0, 133, 161, 112, 112, 145, 0,
-
- 0, 152, 0, 0, 112, 112, 123, 0, 0, 128,
- 98, 112, 6, 130, 112, 112, 112, 112, 100, 0
+ 0, 0, 0, 140, 0, 0, 0, 0, 0, 127,
+ 0, 0, 0, 0, 112, 99, 112, 112, 112, 97,
+ 142, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+
+ 0, 0, 7, 8, 0, 0, 0, 0, 0, 0,
+ 21, 0, 0, 0, 138, 0, 0, 112, 112, 112,
+ 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 9, 0, 0, 131, 0, 126, 0, 0, 0,
+ 0, 0, 112, 112, 85, 112, 0, 0, 146, 0,
+ 0, 0, 0, 0, 122, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 112, 112, 96, 0, 0, 0,
+ 0, 5, 0, 0, 0, 124, 0, 129, 0, 0,
+ 0, 139, 0, 112, 112, 147, 144, 0, 143, 121,
+ 0, 0, 0, 0, 0, 133, 161, 112, 112, 145,
+
+ 0, 0, 152, 0, 0, 112, 112, 123, 0, 0,
+ 128, 98, 112, 6, 130, 112, 112, 112, 112, 100,
+ 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -519,11 +520,11 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 1, 1, 1, 1, 44, 1, 45, 46, 47, 48,
+ 1, 44, 1, 1, 45, 1, 46, 47, 48, 49,
- 49, 50, 51, 52, 53, 28, 54, 55, 56, 57,
- 58, 59, 28, 60, 61, 62, 63, 64, 65, 66,
- 67, 28, 1, 68, 1, 1, 1, 1, 1, 1,
+ 50, 51, 52, 53, 54, 28, 55, 56, 57, 58,
+ 59, 60, 28, 61, 62, 63, 64, 65, 66, 67,
+ 68, 28, 1, 69, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -540,617 +541,617 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[69] =
+static yyconst flex_int32_t yy_meta[70] =
{ 0,
1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
1, 3, 3, 3, 4, 4, 1, 4, 4, 4,
4, 4, 4, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 1
+ 3, 3, 3, 1, 3, 4, 4, 4, 4, 4,
+ 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 1
} ;
-static yyconst flex_int16_t yy_base[1229] =
+static yyconst flex_int16_t yy_base[1230] =
{ 0,
- 0, 67, 2812, 68, 69, 72, 74, 74, 2806, 79,
- 2813, 2816, 2816, 2816, 81, 85, 78, 86, 93, 126,
- 2746, 2794, 92, 102, 133, 139, 96, 144, 147, 154,
- 159, 166, 170, 173, 181, 194, 203, 212, 217, 220,
- 223, 2742, 111, 262, 2816, 2816, 124, 2787, 2816, 2816,
- 2794, 2816, 230, 233, 254, 290, 294, 301, 298, 305,
- 308, 313, 316, 319, 324, 337, 351, 327, 356, 168,
- 2785, 2816, 195, 2784, 115, 2816, 206, 2816, 62, 2739,
- 176, 236, 379, 186, 2816, 0, 397, 365, 2816, 2816,
- 0, 2816, 239, 394, 403, 412, 384, 418, 421, 424,
-
- 436, 439, 442, 445, 448, 455, 458, 461, 465, 470,
- 473, 476, 479, 482, 494, 497, 502, 511, 515, 522,
- 526, 531, 535, 541, 2816, 257, 0, 499, 2778, 65,
- 161, 203, 334, 113, 2750, 447, 2749, 511, 2742, 506,
- 2755, 2750, 174, 2741, 2744, 438, 2774, 2738, 2816, 560,
... 11633 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/sip4.git
More information about the Python-modules-commits
mailing list