Develop and Download Open Source Software

Browse CVS Repository

Contents of /xoonips/AL/common.cc

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


Revision 1.7 - (show annotations) (download) (as text)
Tue Mar 15 04:49:40 2005 UTC (18 years, 11 months 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 /*
2 * --------------------------------------------------------------------------
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 * Abstract Layer鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
23 *
24 * $Revision: 1.6 $
25 * $Log: common.cc,v $
26 * Revision 1.6 2005/02/25 07:42:57 tani
27 * doubleToString鐃緒申鐃緒申.
28 *
29 * Revision 1.5 2005/01/22 05:38:03 youi
30 * md5str鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.
31 *
32 * Revision 1.4 2005/01/06 07:17:15 youi
33 * VC toolkit鐃緒申鐃緒申鐃緒申鐃緒申snprintf鐃緒申_fltused鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申.
34 *
35 * Revision 1.3 2004/11/26 05:13:40 aga
36 * 鐃緒申userid_t, groupid_t鐃緒申unsigned int 鐃緒申鐃緒申鐃緒申.
37 * 鐃緒申unsignedIntToString()鐃緒申鐃緒申鐃緒申.
38 *
39 * Revision 1.2 2004/11/26 03:29:43 aga
40 * 鐃緒申intToString()鐃緒申鐃緒申鐃緒申.
41 *
42 * Revision 1.1 2004/11/22 08:25:16 youi
43 * initial version.
44 *
45 *
46 */
47
48 #include <stdio.h>
49 #include <string.h>
50 #include "common.h"
51
52 /**
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
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
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 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 string s( buf );
153 return s;
154 }
155
156
157
158
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