From: malaterre Date: Fri, 21 Jan 2005 20:02:46 +0000 (+0000) Subject: ENH: Minor tweaks to synchronize with ITK X-Git-Tag: Version1.0.bp~219 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=d6e77ac1b3e594f70ce73df711ad6ec6969f6791;p=gdcm.git ENH: Minor tweaks to synchronize with ITK --- diff --git a/src/gdcmUtil.cxx b/src/gdcmUtil.cxx index c69f317e..cbaa71b6 100644 --- a/src/gdcmUtil.cxx +++ b/src/gdcmUtil.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmUtil.cxx,v $ Language: C++ - Date: $Date: 2005/01/21 19:51:12 $ - Version: $Revision: 1.115 $ + Date: $Date: 2005/01/21 20:02:46 $ + Version: $Revision: 1.116 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -302,7 +302,7 @@ std::string Util::GetCurrentDateTime() // Obtain the time of day, and convert it to a tm struct. struct tm *ptm = localtime (timep); // Format the date and time, down to a single second. - strftime (tmp, sizeof (tmp), "%Y%m%d.%H%M%S", ptm); + strftime (tmp, sizeof (tmp), "%Y%m%d%H%M%S", ptm); // Add milliseconds std::string r = tmp; @@ -435,24 +435,18 @@ int GetMacAddrSys ( unsigned char *addr ) AsnObjectIdentifier MIB_NULL = { 0, 0 }; int ret; int dtmp; - int i = 0, j = 0; - BOOL found = FALSE; + int j = 0; // Load the SNMP dll and get the addresses of the functions necessary HINSTANCE m_hInst = LoadLibrary("inetmib1.dll"); if (m_hInst < (HINSTANCE) HINSTANCE_ERROR) { - m_hInst = NULL; return -1; } pSnmpExtensionInit m_Init = (pSnmpExtensionInit) GetProcAddress(m_hInst, "SnmpExtensionInit"); - pSnmpExtensionInitEx m_InitEx = - (pSnmpExtensionInitEx) GetProcAddress(m_hInst, "SnmpExtensionInitEx"); pSnmpExtensionQuery m_Query = (pSnmpExtensionQuery) GetProcAddress(m_hInst, "SnmpExtensionQuery"); - pSnmpExtensionTrap m_Trap = - (pSnmpExtensionTrap) GetProcAddress(m_hInst, "SnmpExtensionTrap"); m_Init(GetTickCount(), &PollForTrapEvent, &SupportedView); /* Initialize the variable list to be retrieved by m_Query */ @@ -464,7 +458,7 @@ int GetMacAddrSys ( unsigned char *addr ) // Inteface table varBindList.len = 1; // Only retrieving one item SNMP_oidcpy(&varBind[0].name, &MIB_ifEntryNum); - ret = m_Query(ASN_RFC1157_GETNEXTREQUEST, &varBindList, &errorStatus, + m_Query(ASN_RFC1157_GETNEXTREQUEST, &varBindList, &errorStatus, &errorIndex); // printf("# of adapters in this system : %i\n", // varBind[0].value.asnValue.number); @@ -497,7 +491,6 @@ int GetMacAddrSys ( unsigned char *addr ) { j++; dtmp = varBind[0].value.asnValue.number; - std::cerr << "Interface #" << j << " type : " << dtmp << std::endl; // Type 6 describes ethernet interfaces if (dtmp == 6) @@ -667,7 +660,7 @@ int GetMacAddrSys ( unsigned char *addr ) } close(sd); #endif - /* Not implemented platforms */ + // Not implemented platforms perror("There was a configuration problem on your plateform"); memset(addr,0,6); return -1; @@ -675,7 +668,8 @@ int GetMacAddrSys ( unsigned char *addr ) } /** - * \brief Gets the M.A.C. adress of the machine writting the DICOM image + * \brief Encode the mac address on a fixed lenght string of 15 characters. + * we save space this way. */ std::string Util::GetMACAddress() { @@ -785,11 +779,12 @@ std::string Util::CreateUniqueUID(const std::string &root) append += "."; append += Util::GetMACAddress(); append += "."; - //append += Util::GetCurrentDate(); - //append += "."; - //append += Util::GetCurrentTime(); append += Util::GetCurrentDateTime(); + //Also add a mini random number just in case: + int r = (int) (100.0*rand()/RAND_MAX); + append += Format("%02d", r); + // If append is too long we need to rehash it if( (prefix + append).size() > 64 ) {