Develop and Download Open Source Software

Browse CVS Repository

Annotation of /xoonips/AL/common.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.7 - (hide annotations) (download) (as text)
Tue Mar 15 04:49:40 2005 UTC (19 years ago) by tani
Branch: MAIN
CVS Tags: AL_PORTING, MergePnt_20051116, REL20051226, XOONIPS_RC1, REL20060323, tag20060615, tag20070307current, tag20061115, MergePnt_20051220, tag20061130, merge_to_20060605, tag20070307, REL20060213, RELENG_2_0_0a_RELEASE, RELEASE_1_0_0, RELEASE_1_0_1, tag20060622, merge_to_20060411, HEAD
Branch point for: XOONIPS_STABLE_32, XOONIPS_STABLE, XOONIPS_STABLE_3, XOONIPS_STABLE_2
Changes since 1.6: +24 -11 lines
File MIME type: text/x-c++src
ライセンス文を追加.

1 youi 1.1 /*
2 tani 1.7 * --------------------------------------------------------------------------
3     * XooNiPs Xoops modules for Neuroinformatics Platforms
4     * Copyright (C) 2005 RIKEN, Japan. All rights reserved.
5     * http://sourceforge.jp/projects/xoonips/
6     * --------------------------------------------------------------------------
7     * This program is free software; you can redistribute it and/or
8     * modify it under the terms of the GNU General Public License
9     * as published by the Free Software Foundation; either version 2
10     * of the License, or (at your option) any later version.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20     * --------------------------------------------------------------------------
21     *
22 youi 1.1 * Abstract Layer鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
23     *
24 tani 1.7 * $Revision: 1.6 $
25 aga 1.2 * $Log: common.cc,v $
26 tani 1.7 * Revision 1.6 2005/02/25 07:42:57 tani
27     * doubleToString鐃緒申鐃緒申.
28     *
29 tani 1.6 * Revision 1.5 2005/01/22 05:38:03 youi
30     * md5str鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.
31     *
32 youi 1.5 * Revision 1.4 2005/01/06 07:17:15 youi
33     * VC toolkit鐃緒申鐃緒申鐃緒申鐃緒申snprintf鐃緒申_fltused鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.
34     *
35 youi 1.4 * Revision 1.3 2004/11/26 05:13:40 aga
36     * 鐃緒申userid_t, groupid_t鐃緒申unsigned int 鐃緒申鐃緒申鐃緒申.
37     * 鐃緒申unsignedIntToString()鐃緒申鐃緒申鐃緒申.
38     *
39 aga 1.3 * Revision 1.2 2004/11/26 03:29:43 aga
40     * 鐃緒申intToString()鐃緒申鐃緒申鐃緒申.
41     *
42 aga 1.2 * Revision 1.1 2004/11/22 08:25:16 youi
43     * initial version.
44     *
45 youi 1.1 *
46     */
47    
48     #include <stdio.h>
49     #include <string.h>
50     #include "common.h"
51 youi 1.4
52 youi 1.5 /**
53     *
54     * data鐃緒申MD5鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
55     * str鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.
56     *
57     *
58     *
59     */
60     char* md5str( char str[MD5_DIGEST_STRING_LENGTH], unsigned char* data, int len )
61     {
62     MD5_CTX c;
63     unsigned char buf[MD5_DIGEST_LENGTH];
64     static const char hexdigit[]="0123456789abcdef";
65    
66     MD5_Init( &c );
67     MD5_Update( &c, data, len );
68     MD5_Final( buf, &c );
69    
70     for( int i = 0 ; i < MD5_DIGEST_LENGTH ; i++ ){
71     str[i*2] = hexdigit[buf[i]>>4];
72     str[i*2+1] = hexdigit[buf[i] & 0x0f];
73     }
74     str[MD5_DIGEST_LENGTH*2] = '\0';
75     return str;
76     }
77 youi 1.1
78     /**
79     *
80     * 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
81     *
82     * @param text
83     * @return 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
84     * @return 0 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
85     *
86     */
87     char* str_dup( const char* text )
88     {
89     if( text == 0 ) return 0;
90     char* ptr = new char[ strlen( text ) + 1 ];
91     if( ptr == 0 ) return 0;
92     strcpy( ptr , text );
93     return ptr;
94     }
95    
96     /**
97     *
98     * newtext鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.<br>
99     * 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.<br>
100     * 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申<br>
101     * newtext==0鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.<br>
102     *
103     * @param newtext *dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
104     * @param dstptr 鐃緒申鐃緒申鐃緒申鐃緒申newtext鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
105     * @return dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申dstptr
106     *
107     */
108     char* setValue( char** dstptr, const char* newtext )
109     {
110     char* ptr;
111    
112     // newtext鐃緒申0鐃緒申鐃緒申鐃緒申*dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
113     // *dstptr鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
114     if( newtext == 0 ){
115     ptr = str_dup( "" );
116     }else{
117     ptr = str_dup( newtext );
118     }
119     if( ptr != 0 ){
120     if( *dstptr != 0 ) delete[] *dstptr;
121     *dstptr = ptr;
122     }
123     return *dstptr;
124     }
125 aga 1.2
126     /**
127     *
128     * int鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
129     *
130     * @param i 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
131     * @return 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
132     *
133     */
134     string intToString( int i ){
135     char buf[sizeof(int)*3+1+1+1]; // n鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申3n+1鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申1鐃緒申鐃緒申\0鐃緒申1鐃緒申
136     snprintf( buf, sizeof(buf), "%d", i );
137 aga 1.3 string s( buf );
138     return s;
139     }
140    
141     /**
142     *
143     * unsigned int鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
144     *
145     * @param i 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
146     * @return 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
147     *
148     */
149     string unsignedIntToString( unsigned int i ){
150     char buf[sizeof(int)*3+1+1]; // n鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申3n+1鐃緒申鐃緒申鐃緒申鐃緒申\0鐃緒申1鐃緒申
151     snprintf( buf, sizeof(buf), "%u", i );
152 aga 1.2 string s( buf );
153     return s;
154     }
155    
156    
157    
158 tani 1.6
159     /**
160     *
161     * unsigned int鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
162     *
163     * @param i 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
164     * @return 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
165     *
166     */
167     string doubleToString( double d ){
168     char buf[256];
169     snprintf( buf, sizeof(buf), "%lf", d );
170     string s( buf );
171     return s;
172     }
173    

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26