Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb6d2faa

Browse files
committed
Hello, i noticed that win32 native stopped working/compiling after the SSL merge
.So i took the opportunity to fix some stuff:1. Made the thing compile (typos & needed definitions) with the new pqsecure_* stuff, and added fe-secure.c to the win32.mak makefile.2. Fixed some MULTIBYTE compile errors (when building without MB support).3. Made it do that you can build with debug info: "nmake -f win32.mak DEBUG=1".4. Misc small compiler speedup changes.The resulting .dll has been tested in production, and everything seems ok.I CC:ed -hackers because i'm not sure about two things:1. In libpq-int.h I typedef ssize_t as an int because Visual C (v6.0)doesn't de fine ssize_t. Is that ok, or is there any standard about whattype should be use d for ssize_t?2. To keep the .dll api consistent regarding MULTIBYTE I just return -1in fe-connect.c:PQsetClientEncoding() instead of taking away the wholefunction. I wonder if i should do any compares with theconn->client_encoding and return 0 if not hing would have changed (if sohow do i check that?).RegardsMagnus Naeslund
1 parent1430271 commitb6d2faa

File tree

8 files changed

+44
-9
lines changed

8 files changed

+44
-9
lines changed

‎src/interfaces/libpq/fe-auth.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
1111
*
1212
* IDENTIFICATION
13-
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.67 2002/06/2020:29:53 momjian Exp $
13+
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.68 2002/07/2005:43:31 momjian Exp $
1414
*
1515
*-------------------------------------------------------------------------
1616
*/
@@ -714,7 +714,7 @@ fe_getauthname(char *PQerrormsg)
714714
charusername[128];
715715
DWORDnamesize=sizeof(username)-1;
716716

717-
if (GetUserNameFromId(username,&namesize))
717+
if (GetUserName(username,&namesize))
718718
name=username;
719719
#else
720720
structpasswd*pw=getpwuid(geteuid());

‎src/interfaces/libpq/fe-connect.c‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.189 2002/07/18 02:02:30 ishii Exp $
11+
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.190 2002/07/20 05:43:31 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -2717,6 +2717,9 @@ PQclientEncoding(const PGconn *conn)
27172717
int
27182718
PQsetClientEncoding(PGconn*conn,constchar*encoding)
27192719
{
2720+
2721+
#ifdefMULTIBYTE
2722+
27202723
charqbuf[128];
27212724
staticcharquery[]="set client_encoding to '%s'";
27222725
PGresult*res;
@@ -2748,6 +2751,9 @@ PQsetClientEncoding(PGconn *conn, const char *encoding)
27482751
}
27492752
PQclear(res);
27502753
return (status);
2754+
#else
2755+
return-1;/* Multibyte support isn't compiled in */
2756+
#endif
27512757
}
27522758

27532759
void

‎src/interfaces/libpq/fe-secure.c‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*
1212
*
1313
* IDENTIFICATION
14-
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.9 2002/06/23 20:30:48 momjian Exp $
14+
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-secure.c,v 1.10 2002/07/20 05:43:31 momjian Exp $
1515
*
1616
* NOTES
1717
* The client *requires* a valid server certificate. Since
@@ -110,7 +110,9 @@
110110
#include"strdup.h"
111111
#endif
112112

113+
#ifndefWIN32
113114
#include<pwd.h>
115+
#endif
114116
#include<sys/stat.h>
115117

116118
#ifdefUSE_SSL

‎src/interfaces/libpq/libpq-int.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,18 @@
1212
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
1313
* Portions Copyright (c) 1994, Regents of the University of California
1414
*
15-
* $Id: libpq-int.h,v 1.51 2002/06/2020:29:54 momjian Exp $
15+
* $Id: libpq-int.h,v 1.52 2002/07/2005:43:31 momjian Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
1919

2020
#ifndefLIBPQ_INT_H
2121
#defineLIBPQ_INT_H
2222

23+
#if defined(WIN32)&& (!defined(ssize_t))
24+
typedefintssize_t;/* ssize_t doesn't exist in VC (atleast not VC6) */
25+
#endif
26+
2327
/* We assume libpq-fe.h has already been included. */
2428
#include"postgres_fe.h"
2529

‎src/interfaces/libpq/libpqdll.c‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#defineWIN32_LEAN_AND_MEAN
2+
#include<winsock.h>
23
#include<windows.h>
34
#include"win32.h"
45

‎src/interfaces/libpq/win32.c‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@
1717
*
1818
*/
1919

20+
/* Make stuff compile faster by excluding not used stuff */
21+
2022
#defineWIN32_LEAN_AND_MEAN
23+
#defineWIN32_EXTRA_LEAN
24+
#defineVC_EXTRALEAN
25+
#defineNOGDI
26+
#defineNOCRYPT
27+
2128
#include<windows.h>
2229
#include<winsock.h>
2330
#include<stdio.h>

‎src/interfaces/libpq/win32.h‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#include<winsock.h>
1+
#ifndef__win32_h_included
2+
#define__win32_h_included
23

34
/*
45
* strcasecmp() is not in Windows, stricmp is, though
@@ -34,3 +35,6 @@
3435
* support for handling Windows Socket errors
3536
*/
3637
externconstchar*winsock_strerror(inteno);
38+
39+
40+
#endif

‎src/interfaces/libpq/win32.mak‎

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,15 @@ CFG=Release
3030
!ERROR An invalid configuration was specified.
3131
!ENDIF
3232

33+
!IFDEF DEBUG
34+
OPT=/Od
35+
LOPT=/debug
36+
DEBUGDEF=/D _DEBUG
37+
!ELSE
38+
OPT=/O2
39+
LOPT=
40+
DEBUGDEF=/D NDEBUG
41+
!ENDIF
3342

3443
!IF "$(OS)" == "Windows_NT"
3544
NULL=
@@ -62,6 +71,7 @@ CLEAN :
6271
-@erase"$(INTDIR)\fe-lobj.obj"
6372
-@erase"$(INTDIR)\fe-misc.obj"
6473
-@erase"$(INTDIR)\fe-print.obj"
74+
-@erase"$(INTDIR)\fe-secure.obj"
6575
-@erase"$(INTDIR)\pqexpbuffer.obj"
6676
-@erase"$(OUTDIR)\libpqdll.obj"
6777
-@erase"$(OUTDIR)\win32.obj"
@@ -80,7 +90,7 @@ CLEAN :
8090
"$(OUTDIR)" :
8191
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
8292

83-
CPP_PROJ=/nologo /MD /W3 /GX/O2 /I "..\..\include" /D "FRONTEND"/D "NDEBUG" /D\
93+
CPP_PROJ=/nologo /MD /W3 /GX$(OPT) /I "..\..\include" /D "FRONTEND"$(DEBUGDEF) /D\
8494
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
8595
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
8696

@@ -95,7 +105,7 @@ CPP_OBJS=.\Release/
95105
CPP_SBRS=.
96106

97107
LIB32=link.exe -lib
98-
LIB32_FLAGS=/nologo /out:"$(OUTDIR)\libpq.lib"
108+
LIB32_FLAGS=$(LOPT)/nologo /out:"$(OUTDIR)\libpq.lib"
99109
LIB32_OBJS=\
100110
"$(OUTDIR)\win32.obj"\
101111
"$(INTDIR)\dllist.obj"\
@@ -106,6 +116,7 @@ LIB32_OBJS= \
106116
"$(INTDIR)\fe-lobj.obj"\
107117
"$(INTDIR)\fe-misc.obj"\
108118
"$(INTDIR)\fe-print.obj"\
119+
"$(INTDIR)\fe-secure.obj"\
109120
"$(INTDIR)\pqexpbuffer.obj"
110121

111122
!IFDEF MULTIBYTE
@@ -116,7 +127,7 @@ RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
116127

117128
LINK32=link.exe
118129
LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib wsock32.lib\
119-
/nologo /subsystem:windows /dll /incremental:no\
130+
/nologo /subsystem:windows /dll$(LOPT)/incremental:no\
120131
/pdb:"$(OUTDIR)\libpqdll.pdb" /machine:I386 /out:"$(OUTDIR)\libpq.dll"\
121132
/implib:"$(OUTDIR)\libpqdll.lib" /def:libpqdll.def
122133
LINK32_OBJS=\

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp