]> Creatis software - gdcm.git/commitdiff
ENH: Minor tweaks to synchronize with ITK
authormalaterre <malaterre>
Fri, 21 Jan 2005 20:02:46 +0000 (20:02 +0000)
committermalaterre <malaterre>
Fri, 21 Jan 2005 20:02:46 +0000 (20:02 +0000)
src/gdcmUtil.cxx

index c69f317e563fb6967cc4078ccae776e9b2c470ae..cbaa71b6de46ff00220bba5c3cf7cd53727c3022 100644 (file)
@@ -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 )
    {