[svn-r7313] Purpose:

Code cleanup & feature change

Description:
    Chase error API changes

    Also, switch from using 'unsigned long[2]' for the objno in the H5G_stat_t
struct to just using 'haddr_t', since 'haddr_t' is already part of the public
information for the library and the 'unsigned long[2]' form was just confusing
and obscured the issue.

Platforms tested:
    h5committested
This commit is contained in:
Quincey Koziol 2003-08-08 14:12:58 -05:00
parent 8c77305a07
commit 5ce68b5506

View File

@ -2161,7 +2161,7 @@ H5G_loc (hid_t loc_id)
case H5I_ERROR_CLASS:
case H5I_ERROR_MSG:
case H5I_ERROR_STACK:
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to get symbol table entry of error class, massage or stack");
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to get symbol table entry of error class, message or stack");
case H5I_GROUP:
if (NULL==(group=H5I_object (loc_id)))
@ -2194,13 +2194,12 @@ H5G_loc (hid_t loc_id)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to get symbol table entry of attribute");
break;
case H5I_TEMPBUF:
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to get symbol table entry of buffer");
case H5I_REFERENCE:
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "unable to get symbol table entry of reference");
case H5I_NGROUPS:
case H5I_BADID:
case H5I_FILE_CLOSING:
case H5I_REFERENCE:
case H5I_VFL:
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "invalid object ID");
}
@ -2258,7 +2257,7 @@ H5G_link (H5G_entry_t *cur_loc, const char *cur_name, H5G_entry_t *new_loc,
if (H5G_namei(new_loc, new_name, &rest, &grp_ent, NULL,
H5G_TARGET_NORMAL, NULL, H5G_NAMEI_TRAVERSE, NULL, dxpl_id)>=0)
HGOTO_ERROR (H5E_SYM, H5E_EXISTS, FAIL, "already exists");
H5E_clear (H5E_get_my_stack()); /*it's okay that we didn't find it*/
H5E_clear (NULL); /*it's okay that we didn't find it*/
rest = H5G_component (rest, &nchars);
/*
@ -2427,35 +2426,29 @@ H5G_get_objinfo (H5G_entry_t *loc, const char *name, hbool_t follow_link,
obj_ent.cache.slink.lval_offset)))
HGOTO_ERROR (H5E_SYM, H5E_CANTINIT, FAIL, "unable to read symbolic link value");
statbuf->linklen = HDstrlen(s)+1; /*count the null terminator*/
statbuf->objno[0] = statbuf->objno[1] = 0;
statbuf->objno = 0;
statbuf->nlink = 0;
statbuf->type = H5G_LINK;
statbuf->mtime = 0;
} else {
/* Some other type of object */
statbuf->objno[0] = (unsigned long)(obj_ent.header);
#if H5_SIZEOF_UINT64_T>H5_SIZEOF_LONG
statbuf->objno[1] = (unsigned long)(obj_ent.header >>
8*sizeof(long));
#else
statbuf->objno[1] = 0;
#endif
statbuf->objno = obj_ent.header;
statbuf->nlink = H5O_link (&obj_ent, 0, dxpl_id);
statbuf->type = H5G_LINK;
if (NULL==H5O_read(&obj_ent, H5O_MTIME_ID, 0, &(statbuf->mtime), dxpl_id)) {
H5E_clear(H5E_get_my_stack());
H5E_clear(NULL);
if (NULL==H5O_read(&obj_ent, H5O_MTIME_NEW_ID, 0, &(statbuf->mtime), dxpl_id)) {
H5E_clear(H5E_get_my_stack());
H5E_clear(NULL);
statbuf->mtime = 0;
}
}
statbuf->type = H5G_get_type(&obj_ent, dxpl_id);
H5E_clear(H5E_get_my_stack()); /*clear errors resulting from checking type*/
H5E_clear(NULL); /*clear errors resulting from checking type*/
}
/* Common code to retrieve the file's fileno */
if(H5F_get_fileno(obj_ent.file,statbuf->fileno)<0)
if(H5F_get_fileno(obj_ent.file,&statbuf->fileno)<0)
HGOTO_ERROR (H5E_FILE, H5E_BADVALUE, FAIL, "unable to read fileno");
}
@ -2694,7 +2687,7 @@ H5G_set_comment(H5G_entry_t *loc, const char *name, const char *buf, hid_t dxpl_
/* Remove the previous comment message if any */
if (H5O_remove(&obj_ent, H5O_NAME_ID, 0, dxpl_id)<0)
H5E_clear(H5E_get_my_stack());
H5E_clear(NULL);
/* Add the new message */
if (buf && *buf) {
@ -2976,7 +2969,7 @@ H5G_insertion_file(H5G_entry_t *loc, const char *name, hid_t dxpl_id)
H5G_free_ent_name(&grp_ent);
HGOTO_ERROR(H5E_SYM, H5E_EXISTS, NULL, "name already exists");
} /* end if */
H5E_clear(H5E_get_my_stack());
H5E_clear(NULL);
/* Make sure only the last component wasn't resolved */
rest = H5G_component(rest, &size);