summaryrefslogtreecommitdiff
path: root/usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp
diff options
context:
space:
mode:
authorJohn Sonnenschein <johns@joyent.com>2012-05-17 18:26:57 +0000
committerJohn Sonnenschein <johns@joyent.com>2012-05-17 18:26:57 +0000
commit04b244dd661c24b510ac22936decfc0972d202d3 (patch)
tree3ebfef98afc303fddf3415d6fba64e8682f495e8 /usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp
parenteac250589e41f1b705e1b7427b02b3379aac9f9e (diff)
parenta69187741b83640a90dd8586195456dd50c016a8 (diff)
downloadillumos-joyent-20120517.tar.gz
Merge git.joyent.com:illumos-joyent20120517
Diffstat (limited to 'usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp')
-rw-r--r--usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp235
1 files changed, 0 insertions, 235 deletions
diff --git a/usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp b/usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp
deleted file mode 100644
index c47e6848e8..0000000000
--- a/usr/src/lib/libkmsagent/common/KMSAgentStringUtilities.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
- */
-
-#ifndef WIN32
-#include <ctype.h>
-
- #ifndef METAWARE
- #include <wctype.h>
- #endif
-
-#endif
-
-#ifndef METAWARE
- #include <sys/timeb.h>
-#endif
-
-#include "KMSAgentStringUtilities.h"
-
-#ifdef WIN32
-#include <stdlib.h>
-#include <time.h>
-#define gmtime_r(clock,result) ( *(result) = *gmtime(clock), result )
-#endif
-
-// Find header in KMSAgentStringUtilities.h
-int64 UTF8ToInt64( const char* i_sNumber )
-{
- FATAL_ASSERT( i_sNumber );
-
-#ifdef WIN32
- return _atoi64( i_sNumber );
-#else
- return atoll( i_sNumber );
-#endif
-}
-
-void Int64ToUTF8(char* const o_psUTF8,
- int64 i_iNumber,
- int i_bPad,
- int i_bHex )
-{
- //string sFormat;
- char sFormat[10];
-
- if ( i_bPad && i_bHex )
- {
-#ifdef WIN32
- strcpy(sFormat,"%016I64X");
-#else
- strcpy(sFormat,"%016llX");
-#endif
- }
- else if ( i_bPad && !i_bHex )
- {
-#ifdef WIN32
- strcpy(sFormat, "%019I64d");
-#else
- strcpy(sFormat, "%019lld");
-#endif
- }
- else if ( !i_bPad && i_bHex )
- {
-#ifdef WIN32
- strcpy(sFormat, "%I64X");
-#else
- strcpy(sFormat, "%llX");
-#endif
- }
- else //( !i_bPad && !i_bHex )
- {
-#ifdef WIN32
- strcpy(sFormat, "%I64d");
-#else
- strcpy(sFormat, "%lld");
-#endif
- }
-
-#ifndef METAWARE
- int iReturn = sprintf( o_psUTF8, sFormat, i_iNumber);
-
- //int iReturn = K_snprintf(o_psUTF8, iBufferSize, sFormat, i_iNumber);
-#else
- int iReturn = sprintf( o_psUTF8, sFormat, i_iNumber);
-#endif
- if ( iReturn < 0 )
- {
- // Our buffer wasn't big enough. Shouldn't happen.
- FATAL_ASSERT(0);
- }
-
- return;
-
-}
-
-// Find header in KMSAgentStringUtilities.h
-int ConvertUTF8HexStringToBinary(
- const char* i_sHexString,
- unsigned char* o_pBinaryBuffer)
-{
- int iHexLen = i_sHexString ? strlen(i_sHexString) : 0;
- FATAL_ASSERT( (iHexLen % 2) == 0 ); // to be valid, the hex string must have an even number of characters
-
- if ( !o_pBinaryBuffer )
- {
- return ( iHexLen / 2 );
- }
-
- if ( iHexLen <= 0 )
- {
- return 0;
- }
-
- int iDigitValue = 0;
-
- for ( int i = 0; i < iHexLen; i++)
- {
- if (i_sHexString[i] >= '0' && i_sHexString[i] <= '9')
- {
- iDigitValue = i_sHexString[i] - '0';
- }
- else if (i_sHexString[i] >= 'A' && i_sHexString[i] <= 'F')
- {
- iDigitValue = i_sHexString[i] - 'A' + 10;
- }
- else if (i_sHexString[i] >= 'a' && i_sHexString[i] <= 'f')
- {
- iDigitValue = i_sHexString[i] - 'a' + 10;
- }
- else
- {
- iDigitValue = 0;
- }
-
- if (i % 2 == 0)
- {
- o_pBinaryBuffer[i/2] = (char)(iDigitValue << 4);
- }
- else
- {
- o_pBinaryBuffer[i/2] |= (char)iDigitValue;
- }
- }
-
- return ( iHexLen / 2 );
-}
-
-// Find header in KMSAgentStringUtilities.h
-void ConvertBinaryToUTF8HexString(
- char* const o_sHexString,
- const unsigned char* const i_pBinaryBuffer,
- int i_iBinaryBufferSize )
-{
- const char HEXCHARS[] = "0123456789ABCDEF";
-
- FATAL_ASSERT( o_sHexString );
-
- if ( (i_pBinaryBuffer == 0) || (i_iBinaryBufferSize == 0) )
- {
- strcpy(o_sHexString, "");
- return;
- }
-
- FATAL_ASSERT( i_pBinaryBuffer );
-
- for ( int i = 0; i < (2 * i_iBinaryBufferSize); i++ )
- {
- unsigned char ucFourBits = i_pBinaryBuffer[i / 2];
- if ( (i % 2) == 0 ) // high four bits of the current byte
- ucFourBits = (ucFourBits >> 4) & 0xF; // shift down and blank out upper bits
- else // low four bits of the current byte
- ucFourBits = ucFourBits & 0xF; // blank out upper bits
-
- o_sHexString[i] = HEXCHARS[ucFourBits];
- }
-
- o_sHexString[i_iBinaryBufferSize * 2] = '\0';
-
- return;
-}
-
-
-// Find header in StringUtilities.h
-void GetCurrentDateTimeISO8601UTC(char* const o_psDateTimeISO8601UTC,
- int i_iLength)
-{
-
-#ifndef METAWARE
- timeb stTime;
- ftime(&stTime);
-
- FATAL_ASSERT( o_psDateTimeISO8601UTC );
-
- struct tm* pstTime = gmtime( &(stTime.time) );
-
- K_snprintf(
- o_psDateTimeISO8601UTC,
- i_iLength,
- "%04d-%02d-%02d %02d:%02d:%02d.%03dZ",
- pstTime->tm_year+1900,
- pstTime->tm_mon+1,
- pstTime->tm_mday,
- pstTime->tm_hour,
- pstTime->tm_min,
- pstTime->tm_sec,
- stTime.millitm);
-
-#else
- // no time functions for the metaware environment
- strcpy( o_psDateTimeISO8601UTC, "" );
-#endif
- return;
-}
-