Re: [HACKERS] Platform status
От | t-ishii@sra.co.jp (Tatsuo Ishii) |
---|---|
Тема | Re: [HACKERS] Platform status |
Дата | |
Msg-id | 199802210435.NAA18337@meshsv26.tk.mesh.ad.jp обсуждение исходный текст |
Ответ на | [HACKERS] Platform status (Frank Ridderbusch <ridderbusch.pad@sni.de>) |
Ответы |
Re: [HACKERS] Platform status
|
Список | pgsql-hackers |
At 4:06 PM 98.2.19 +0000, Thomas G. Lockhart wrote: >Here is my current list of supported platforms. The outstanding issues >are: >mklinux/ppc - still core dumping on regression tests? why?? I finally found the source of the problem. function "_readConst" in backend/nodes/readfuncs.c there is a line: local_node->constlen = strtoul(token,NULL,10); (before 6.3beta, this was: local_node->constlen = atol(token); ) For text type constant, token would be "-1." In this case strtoul() of mklinux/ppc returns 0 not ULONG_MAX (same bit pattern as -1). This is a problem. So quick workaround might be surrounding the line by #ifdef like: #ifdef PPC local_node->constlen = atol(token); #else local_node->constlen = strtoul(token,NULL,10); #endif P.S. Sure current code works except MkLinux/ppc. However calling with strtoul() with minus value is not well-mannered IMHO (strtoul() returns error code ERANGE in this case). To make matters worse, there are some codes that comparing constlen and -1. What about changing constlen to signed int and using strtol() instead of strtoul() here? Tatsuo Ishii t-ishii@sra.co.jp
В списке pgsql-hackers по дате отправления: