dtinfo subdirectory DtMmdb
This commit is contained in:
committed by
Jon Trulson
parent
0be684281d
commit
fbd81ef151
@@ -70,23 +70,27 @@ base::base(object_dict* obj_dict,
|
||||
num_cset_ptrs(0), num_list_ptrs(0),
|
||||
f_obj_dict(obj_dict)
|
||||
{
|
||||
int len = MIN(strlen(base_dir), PATHSIZ - 1);
|
||||
if ( base_dir )
|
||||
strcpy(base_path, base_dir);
|
||||
*((char *) memcpy (base_path, base_dir, len) + len) = '\0';
|
||||
else
|
||||
base_path[0] = 0;
|
||||
|
||||
len = MIN(strlen(base_nm), PATHSIZ - 1);
|
||||
if ( base_nm )
|
||||
strcpy(base_name, base_nm);
|
||||
*((char *) memcpy (base_name, base_nm, len) + len) = '\0';
|
||||
else
|
||||
base_name[0] = 0;
|
||||
|
||||
len = MIN(strlen(base_ds), PATHSIZ - 1);
|
||||
if ( base_ds )
|
||||
strcpy(base_desc, base_ds);
|
||||
*((char *) memcpy (base_desc, base_ds, len) + len) = '\0';
|
||||
else
|
||||
base_desc[0] = 0;
|
||||
|
||||
len = MIN(strlen(base_uid_str), UIDSIZ - 1);
|
||||
if ( base_uid_str )
|
||||
strcpy(base_uid, base_uid_str);
|
||||
*((char *) memcpy (base_uid, base_uid_str, len) + len) = '\0';
|
||||
else
|
||||
base_uid[0] = 0;
|
||||
|
||||
|
||||
@@ -88,18 +88,17 @@ public:
|
||||
|
||||
protected:
|
||||
|
||||
object_dict* f_obj_dict;
|
||||
|
||||
|
||||
char base_path[PATHSIZ];
|
||||
char base_name[PATHSIZ];
|
||||
char base_desc[PATHSIZ];
|
||||
char base_uid[UIDSIZ];
|
||||
|
||||
int num_cset_ptrs;
|
||||
int num_list_ptrs;
|
||||
char** info_base_set_names;
|
||||
char** info_base_list_names;
|
||||
int num_cset_ptrs;
|
||||
int num_list_ptrs;
|
||||
|
||||
object_dict* f_obj_dict;
|
||||
};
|
||||
|
||||
typedef base* basePtr;
|
||||
|
||||
@@ -72,8 +72,9 @@ debug(cerr, base_dir);
|
||||
debug(cerr, base_nm);
|
||||
debug(cerr, base_ds);
|
||||
*/
|
||||
int len = MIN(strlen(base_locale), PATHSIZ - 1);
|
||||
if (base_locale)
|
||||
strcpy(info_base_locale, base_locale);
|
||||
*((char *) memcpy (info_base_locale, base_locale, len) + len) = '\0';
|
||||
else
|
||||
*info_base_locale = 0;
|
||||
|
||||
@@ -131,7 +132,6 @@ info_base::~info_base()
|
||||
|
||||
int info_base::get_set_pos(const char* set_nm)
|
||||
{
|
||||
char* nm = 0;
|
||||
for ( int i=0; i<num_cset_ptrs; i++ ) {
|
||||
if ( strcmp(set_nm, info_base_set_names[i]) == 0 )
|
||||
return i;
|
||||
@@ -221,7 +221,7 @@ Iterator* info_base::first(char* col_nm, c_code_t code)
|
||||
handler* x = get_set(col_nm);
|
||||
|
||||
if ( x == 0 ) {
|
||||
handler* x = get_list(col_nm);
|
||||
x = get_list(col_nm);
|
||||
}
|
||||
|
||||
if ( x == 0 ) {
|
||||
@@ -299,7 +299,7 @@ int stdin_sgml_data_getchar(unsigned char* buf, int max_sz)
|
||||
|
||||
chars_to_read = MIN(max_sz, remain_chars);
|
||||
|
||||
if ( fread((char*)buf, 1, chars_to_read, stdin) != chars_to_read ) {
|
||||
if ( (int)fread((char*)buf, 1, chars_to_read, stdin) != chars_to_read ) {
|
||||
throw(stringException("sgml_data_getchar(): fread() failed"));
|
||||
}
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@ f_bad_info_base_names(0), f_bad_info_base_paths(0), f_descriptor(des)
|
||||
//debug(cerr, info_lib_dir);
|
||||
//debug(cerr, infoLibName);
|
||||
|
||||
int len;
|
||||
|
||||
f_obj_dict = new object_dict;
|
||||
|
||||
if ( info_lib_dir == 0 ) {
|
||||
@@ -91,8 +93,10 @@ f_bad_info_base_names(0), f_bad_info_base_paths(0), f_descriptor(des)
|
||||
)
|
||||
);
|
||||
|
||||
strcpy(info_lib_path, info_lib_dir);
|
||||
strcpy(info_lib_name, infoLibName);
|
||||
len = MIN(strlen(info_lib_dir), PATHSIZ -1);
|
||||
*((char *) memcpy (info_lib_path, info_lib_dir, len) + len) = '\0';
|
||||
len = MIN(strlen(infoLibName), PATHSIZ -1);
|
||||
*((char *) memcpy (info_lib_name, infoLibName, len) + len) = '\0';
|
||||
|
||||
fstream *map_in = 0;
|
||||
|
||||
@@ -163,9 +167,10 @@ f_bad_info_base_names(0), f_bad_info_base_paths(0), f_descriptor(des)
|
||||
strcmp("C.ISO-8859-1", base_locale) == 0))
|
||||
{
|
||||
|
||||
strcpy(db_path_name,
|
||||
form("%s/%s", info_lib_dir, base_name)
|
||||
);
|
||||
len = MIN(strlen(info_lib_dir) + strlen(base_name) +1, PATHSIZ -1);
|
||||
*((char *) memcpy (db_path_name,
|
||||
form("%s/%s", info_lib_dir, base_name),
|
||||
len) + len) = '\0';
|
||||
|
||||
mm_version mmv_code(MAJOR, MINOR);
|
||||
mm_version mmv_base_data(2, 1);
|
||||
@@ -363,10 +368,17 @@ info_lib::define_info_base( char* base_name, char* base_desc,
|
||||
char new_db_path[PATHSIZ];
|
||||
char f_name[PATHSIZ];
|
||||
char base_uid[UIDSIZ];
|
||||
int len;
|
||||
const char* uid;
|
||||
|
||||
strcpy(new_db_path, form("%s/%s", info_lib_path, base_name));
|
||||
len = MIN(strlen(info_lib_path) + strlen(base_name) + 1, PATHSIZ -1);
|
||||
*((char *) memcpy (new_db_path,
|
||||
form("%s/%s", info_lib_path, base_name),
|
||||
len) + len) = '\0';
|
||||
|
||||
strcpy(base_uid, unique_id());
|
||||
uid = unique_id();
|
||||
len = MIN(strlen(uid), UIDSIZ -1);
|
||||
*((char *) memcpy(base_uid, uid, len) + len) = '\0';
|
||||
|
||||
g_mode_8_3 = 1;
|
||||
|
||||
@@ -387,15 +399,24 @@ info_lib::define_info_base( char* base_name, char* base_desc,
|
||||
// remove any old files
|
||||
//////////////////////////
|
||||
|
||||
strcpy(f_name, form("%s.%s", base_name, DATA_FILE_SUFFIX));
|
||||
len = MIN(strlen(base_name) + strlen(DATA_FILE_SUFFIX) +1, PATHSIZ -1);
|
||||
*((char *) memcpy(f_name,
|
||||
form("%s.%s", base_name, DATA_FILE_SUFFIX),
|
||||
len) + len) = '\0';
|
||||
if ( exist_file(f_name, new_db_path) == true )
|
||||
del_file(f_name, new_db_path);
|
||||
|
||||
strcpy(f_name, form("%s.%s", base_name, INDEX_FILE_SUFFIX));
|
||||
len = MIN(strlen(base_name) + strlen(INDEX_FILE_SUFFIX) + 1, PATHSIZ -1);
|
||||
*((char *) memcpy(f_name,
|
||||
form("%s.%s", base_name, INDEX_FILE_SUFFIX),
|
||||
len) + len) = '\0';
|
||||
if ( exist_file(f_name, new_db_path) == true )
|
||||
del_file(f_name, new_db_path);
|
||||
|
||||
strcpy(f_name, form("%s.%s", base_name, SCHEMA_FILE_SUFFIX));
|
||||
len = MIN(strlen(base_name) + strlen(SCHEMA_FILE_SUFFIX) +1, PATHSIZ -1);
|
||||
*((char *) memcpy(f_name,
|
||||
form("%s.%s", base_name, SCHEMA_FILE_SUFFIX),
|
||||
len) + len) = '\0';
|
||||
if ( exist_file(f_name, new_db_path) == true )
|
||||
del_file(f_name, new_db_path);
|
||||
|
||||
|
||||
@@ -132,8 +132,8 @@ protected:
|
||||
|
||||
int f_bad_base_array_size;
|
||||
int f_bad_info_bases;
|
||||
char** f_bad_info_base_paths;
|
||||
char** f_bad_info_base_names;
|
||||
char** f_bad_info_base_paths;
|
||||
|
||||
int f_descriptor;
|
||||
|
||||
|
||||
@@ -65,7 +65,8 @@ server::server(char* x_infolib_path) :
|
||||
)
|
||||
);
|
||||
|
||||
strcpy(info_lib_dir, x_infolib_path);
|
||||
int len = MIN(strlen(x_infolib_path), PATHSIZ - 1);
|
||||
*((char *) memcpy(info_lib_dir, x_infolib_path, len) + len) = '\0';
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ void smart_ptr::update_oid(int i, const oid_t& x)
|
||||
handler* z = get_handler(i, OID_CODE);
|
||||
oid_handler* y = (oid_handler*)z;
|
||||
|
||||
sprintf(buf, "%d.%d\n", x.ccode(), (int)x.icode());
|
||||
snprintf(buf, sizeof(buf), "%d.%d\n", x.ccode(), (int)x.icode());
|
||||
istringstream in(buf);
|
||||
|
||||
(*y) -> asciiIn(in);
|
||||
@@ -305,16 +305,18 @@ void smart_ptr::update_string(int i, istream& in)
|
||||
io_status ok;
|
||||
switch ( x -> its_oid().ccode() ) {
|
||||
case STRING_CODE:
|
||||
ok = (*(pstring_handler*)x) -> asciiIn(in);
|
||||
ok =(*(pstring_handler*)x) -> asciiIn(in);
|
||||
break;
|
||||
|
||||
case COMPRESSED_STRING_CODE:
|
||||
ok = (*(compressed_pstring_handler*)x) -> _asciiIn(in);
|
||||
ok =(*(compressed_pstring_handler*)x) -> _asciiIn(in);
|
||||
break;
|
||||
|
||||
default:
|
||||
throw(stringException("invalid node data class code"));
|
||||
}
|
||||
|
||||
if(ok) { ; }
|
||||
delete x;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user