Re: [HACKERS] Patch for VS.Net 2005's strxfrm() bug
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Patch for VS.Net 2005's strxfrm() bug |
Дата | |
Msg-id | 200607261715.k6QHFjP28100@momjian.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Patch for VS.Net 2005's strxfrm() bug ("Hiroshi Saito" <z-saito@guitar.ocn.ne.jp>) |
Список | pgsql-patches |
Patch attached and applied. Thanks. --------------------------------------------------------------------------- Hiroshi Saito wrote: > Hi. > > "William ZHANG" <uniware@zedware.org> wrote in message news:ea5fm1$2q6i$1@news.hub.org... > > When I tried to compile pgsql-8.2devel with VS.Net 2005 and do regression > > tests, > > I found the problem. It's a bug inVS.Net 2005: > > http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99694 > > > > + /* http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99694 */ > + #if _MSC_VER == 1400 > + { > + char x[1]; > + > + xfrmlen = strxfrm(x, val, 0); > + } > + #else > xfrmlen = strxfrm(NULL, val, 0); > + #endif > > > Hmm, It seems to be the bug of very unpleasant Microsoft.:D > I think that the following is desirable as an evasion measure to add. > > #if defined(_MSC_VER) && _MSC_VER == 1400 > > To be sure, it was only VS2005. > > Regards, > Hiroshi Saito > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + Index: src/backend/utils/adt/selfuncs.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v retrieving revision 1.210 diff -c -c -r1.210 selfuncs.c *** src/backend/utils/adt/selfuncs.c 24 Jul 2006 01:19:48 -0000 1.210 --- src/backend/utils/adt/selfuncs.c 26 Jul 2006 17:13:26 -0000 *************** *** 2956,2962 **** * == as you'd expect. Can't any of these people program their way * out of a paper bag? */ ! xfrmlen = strxfrm(NULL, val, 0); xfrmstr = (char *) palloc(xfrmlen + 1); xfrmlen2 = strxfrm(xfrmstr, val, xfrmlen + 1); Assert(xfrmlen2 <= xfrmlen); --- 2956,2970 ---- * == as you'd expect. Can't any of these people program their way * out of a paper bag? */ ! #if _MSC_VER == 1400 /* VS.Net 2005 */ ! /* http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99694 */ ! { ! char x[1]; ! xfrmlen = strxfrm(x, val, 0); ! } ! #else ! xfrmlen = strxfrm(NULL, val, 0); ! #endif xfrmstr = (char *) palloc(xfrmlen + 1); xfrmlen2 = strxfrm(xfrmstr, val, xfrmlen + 1); Assert(xfrmlen2 <= xfrmlen);
В списке pgsql-patches по дате отправления: