Knowledge Base

FIX: _getmbp CRT Function Does Not Return Correct Value

Article ID: 171543

Article Last Modified on 10/17/2003


APPLIES TO


This article was previously published under Q171543

SYMPTOMS

The C Run-time (CRT) Library function _getmbcp is supposed to return 0 if a single-byte code page is in use. However, this is not true with the CRT Library shipped with Visual C++ 5.0 in Visual Studio 97 Service Pack 1 and Service Pack 2. The function returns the current code page value irrespective of whether it is a single byte or multi byte code page. This behavior breaks existing programs that were using this call primarily to query whether a single-byte code page is active.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been fixed in Visual Studio 97 Service Pack 3.

For additional information about , please click the article number(s) below to view the article(s) in the Microsoft Knowledge Base:

170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why

MORE INFORMATION

The following sample program demonstrates the bug:
//sample.cpp
/* Compiler options: none */ 
#include <mbctype.h>
#include <stdio.h>

main()
{
  printf("The return value from _getmbcp is= %d \n", _getmbcp());
  return 0;
}
				

Keywords: kbbug kbfix kbcrt kbvs97sp1fix kbvs97sp2fix KB171543