Lines Matching refs:clone
626 * This routine clones an entire hash bucket chain. If you clone a
628 * clone of that entry, as well as the entire linked list. This can cause
632 * entires or lose entries. If you wish to clone the entire bucket chain
637 db_dictionary::db_clone_bucket(db_table_desc *bucket, db_table_desc **clone)
663 *clone = (db_table_desc *) calloc(1, (size_t) size * sizeof (char));
664 if (!*clone) {
674 if (!xdr_db_table_desc(&xdrs, *clone)) {
676 free(*clone);
692 db_dictionary::change_table_name(db_table_desc *clone, char *tok, char *repl)
698 while (clone) {
708 strcat(clone->table_name, repl);
709 clone = clone->next;
713 strlen(clone->table_name) +
721 if (loc_beg = strstr(clone->table_name, tok)) {
723 int s = loc_beg - clone->table_name;
724 memcpy(newname, clone->table_name, s);
727 free(clone->table_name);
728 clone->table_name = newname;
732 clone = clone->next;
845 db_table_desc *bucket, *np, *clone, *next_np;
883 retval = db_clone_bucket(np, &clone);
889 if (change_table_name(clone, tok, repl) == -1) {
890 delete_table_desc(clone);
902 clone);
904 delete_table_desc(clone);
912 delete_table_desc(clone);
951 db_table_desc *tbl = NULL, *clone = NULL, *next_td = NULL;
960 retval = db_clone_bucket(tbl, &clone);
966 while (clone) {
967 next_td = clone->next;
968 clone->next = NULL;
970 (change_table_name(clone, tok, repl) == -1)) {
971 delete_table_desc(clone);
979 dbstat = add_to_dictionary(dictionary, clone);
983 clone->table_name, TRUE);
990 clone);
998 clone = next_td;
1055 db_table_desc *tbl, *clone;
1076 retval = db_clone_bucket(&tbl_ent, &clone);
1079 "extract_entries: unable to clone entry for %s",
1085 dbstat = add_to_dictionary(tempdict.dictionary, clone);
1087 delete_table_desc(clone);
2243 db_table_desc *clone, *savenext = tbl->next;
2245 * Only want to clone one db_table_desc, so temporarily
2249 res = db_clone_bucket(tbl, &clone);
2268 /* Initialize and load the database for the clone */
2269 if (clone->database == 0) {
2270 clone->database = new db(table);
2271 if (clone->database != 0) {
2272 if (clone->database->load()) {
2283 "%s: Error loading clone DB for \"%s\"",
2285 delete clone->database;
2286 clone->database = 0;
2291 "%s: Unable to clone DB for \"%s\"",
2296 if (clone->database != 0) {
2297 clone->database->markDeferred();
2299 clone);
2302 delete clone->database;
2303 clone->database = 0;
2304 delete clone;
2311 delete clone;