Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

thd_idcode.c File Reference

#include "mrilib.h"
#include <time.h>
#include "thd.h"

Go to the source code of this file.


Functions

void MCW_hash_idcode (char *hstring, THD_3dim_dataset *dset)

Variables

MCW_idcode MCW_new_idcode (void)

Function Documentation

void MCW_hash_idcode char *    hstring,
THD_3dim_dataset   dset
 

Replace the string part of the ID code with a deterministic hash. -------------------------------------------------------------------------

Definition at line 36 of file thd_idcode.c.

References free, THD_3dim_dataset::idcode, ISVALID_DSET, MCW_IDSIZE, MCW_strncpy, MCW_idcode::str, and UNIQ_hashcode().

Referenced by THD_open_1D(), THD_open_3D(), THD_open_analyze(), THD_open_ctfmri(), THD_open_ctfsam(), THD_open_minc(), THD_open_mpeg(), and THD_open_nifti().

00037 {
00038    char *hhh , *rp , rpath[2048] ;
00039    if( hstring == NULL || *hstring == '\0' && !ISVALID_DSET(dset) ) return ;
00040    rp = realpath( hstring , rpath ) ; if( rp == NULL ) rp = hstring ;
00041    hhh = UNIQ_hashcode(rp) ;
00042    MCW_strncpy( dset->idcode.str+3, hhh+3, MCW_IDSIZE-3 ); free((void *)hhh);
00043    return ;
00044 }

Variable Documentation

MCW_idcode MCW_new_idcode(void)
 

Routine to return a (hopefully) unique ID code to be used to identify a dataset to other datasets. -------------------------------------------------------------------------

Definition at line 16 of file thd_idcode.c.

00017 {
00018    MCW_idcode newid ;
00019    time_t tnow ;
00020    int nn ;
00021 
00022    UNIQ_idcode_fill( newid.str ) ;  /* thd_md5.c */
00023 
00024    tnow = time(NULL) ;
00025    MCW_strncpy( newid.date , ctime(&tnow) , MCW_IDDATE ) ;
00026    nn = strlen(newid.date) ;
00027    if( nn > 0 && newid.date[nn-1] == '\n' ) newid.date[nn-1] = '\0' ;
00028 
00029    return newid ;
00030 }
 

Powered by Plone

This site conforms to the following standards: