Knowledge Base

BUG: srv_pfield Not Return Null if Field Length Is 30 Char.

Article ID: 124279

Article Last Modified on 12/16/1999


APPLIES TO


This article was previously published under Q124279

SYMPTOMS

The function srv_pfield does not return a null terminated string when the field length is exactly 30 characters. This may cause DB-Library (DB-Lib) 20003 errors if you pass this resultant string to DB-Lib login structure.

NOTE: The length returned is still correct.

WORKAROUND

The following code fragment can be used to ensure that a null terminated string of the correct length is copied into the destination buffer:
   char buf[31];
   strncpy(buf,srv_pfield(.....),30);
   strcat(buf,'\0');
				

STATUS

Microsoft has confirmed this to be a problem in OPENDSNT versions 4.2 and 4.21. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: ods dblib

Keywords: kbprogramming KB124279