Bug 480563
| Summary: | [gtk-doc] Mistakenly substitute -1 with G_MAXULONG in x86_64 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Ding-Yi Chen <dchen> |
| Component: | gtk-doc | Assignee: | Matthias Clasen <mclasen> |
| Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | mclasen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-03-09 14:51:53 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Ding-Yi Chen
2009-01-19 01:08:44 UTC
G_MAXULONG is not an int value, so that doesn't make much sense to begin with. Also, the param spec you show is for min-n-strokes, but your complaint seems to be about max-n-strokes... Can you clarify ? I have both i386 and x86_64 machines, and the problem only occur in my x86_64.
Following program demonstrate the problem in x86_64:
/* Begin of show64.c */
#include <stdlib.h>
#include <stdio.h>
#include <glib-object.h>
static gchar*
describe_signed_constant (gint64 value)
{
gchar *desc;
if (value == G_MINLONG)
desc = g_strdup ("G_MINLONG");
else if (value == G_MAXULONG)
desc = g_strdup ("G_MAXULONG");
else if (value == G_MAXINT64)
desc = g_strdup ("G_MAXINT64");
else if (value == G_MININT64)
desc = g_strdup ("G_MININT64");
else
desc = g_strdup_printf ("%" G_GINT64_FORMAT, value);
return desc;
}
int main(int argc,char *argv[]){
printf("describe_signed_constant (-1):%s\n",describe_signed_constant (-1));
return 0;
}
/* End of show64.c*/
Compile it using:
gcc -o show64 show64.c `pkg-config --cflags --libs glib-2.0`
Run it with:
./show64
And the result is:
describe_signed_constant (-1):G_MAXULONG
Where the result should be:
describe_signed_constant (-1):-1
Similar code segement is in code generation part in gtkdoc-scangobj,
specifically, search "describe_signed_constant (gint64 value)" in gtkdoc-scangobj
to see what I am talking about.
Maybe removing unsigned constant in static gchar* describe_signed_constant (gint64 value)
fix the problem.
Regards,
Ding-Yi Chen
Filed upstream: http://bugzilla.gnome.org/show_bug.cgi?id=572612 Fixed upstream, we'll get the fix with the next upstream release. |