Replaced some large local variables by other means in libisofs/util.c
This commit is contained in:
parent
31c7f68990
commit
2835fccfa4
@ -921,13 +921,16 @@ ex:;
|
|||||||
*/
|
*/
|
||||||
uint16_t *iso_j_file_id(const uint16_t *src, int flag)
|
uint16_t *iso_j_file_id(const uint16_t *src, int flag)
|
||||||
{
|
{
|
||||||
uint16_t *dot;
|
uint16_t *dot, *retval = NULL;
|
||||||
size_t lname, lext, lnname, lnext, pos, i, maxchar = 64;
|
size_t lname, lext, lnname, lnext, pos, i, maxchar = 64;
|
||||||
uint16_t dest[LIBISO_JOLIET_NAME_MAX];
|
uint16_t *dest = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
LIBISO_ALLOC_MEM(dest, uint16_t, LIBISO_JOLIET_NAME_MAX);
|
||||||
/* was: 66 = 64 (name + ext) + 1 (.) + 1 (\0) */
|
/* was: 66 = 64 (name + ext) + 1 (.) + 1 (\0) */
|
||||||
|
|
||||||
if (src == NULL) {
|
if (src == NULL) {
|
||||||
return NULL;
|
goto ex;
|
||||||
}
|
}
|
||||||
if (flag & 2)
|
if (flag & 2)
|
||||||
maxchar = 103;
|
maxchar = 103;
|
||||||
@ -954,7 +957,7 @@ uint16_t *iso_j_file_id(const uint16_t *src, int flag)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (lnname == 0 && lnext == 0) {
|
if (lnname == 0 && lnext == 0) {
|
||||||
return NULL;
|
goto ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
pos = 0;
|
pos = 0;
|
||||||
@ -989,7 +992,10 @@ uint16_t *iso_j_file_id(const uint16_t *src, int flag)
|
|||||||
|
|
||||||
is_done:;
|
is_done:;
|
||||||
set_ucsbe(dest + pos, '\0');
|
set_ucsbe(dest + pos, '\0');
|
||||||
return ucsdup(dest);
|
retval = ucsdup(dest);
|
||||||
|
ex:;
|
||||||
|
LIBISO_FREE_MEM(dest);
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* @param flag bit1= allow 103 characters rather than 64
|
/* @param flag bit1= allow 103 characters rather than 64
|
||||||
@ -997,10 +1003,13 @@ is_done:;
|
|||||||
uint16_t *iso_j_dir_id(const uint16_t *src, int flag)
|
uint16_t *iso_j_dir_id(const uint16_t *src, int flag)
|
||||||
{
|
{
|
||||||
size_t len, i, maxchar = 64;
|
size_t len, i, maxchar = 64;
|
||||||
uint16_t dest[LIBISO_JOLIET_NAME_MAX]; /* was: 65 = 64 + 1 (\0) */
|
uint16_t *dest = NULL, *retval = NULL;
|
||||||
|
int ret;
|
||||||
|
/* was: 65 = 64 + 1 (\0) */
|
||||||
|
LIBISO_ALLOC_MEM(dest, uint16_t, LIBISO_JOLIET_NAME_MAX);
|
||||||
|
|
||||||
if (src == NULL) {
|
if (src == NULL) {
|
||||||
return NULL;
|
goto ex;
|
||||||
}
|
}
|
||||||
if (flag & 2)
|
if (flag & 2)
|
||||||
maxchar = 103;
|
maxchar = 103;
|
||||||
@ -1018,7 +1027,10 @@ uint16_t *iso_j_dir_id(const uint16_t *src, int flag)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
set_ucsbe(dest + len, '\0');
|
set_ucsbe(dest + len, '\0');
|
||||||
return ucsdup(dest);
|
retval = ucsdup(dest);
|
||||||
|
ex:
|
||||||
|
LIBISO_FREE_MEM(dest);
|
||||||
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ucslen(const uint16_t *str)
|
size_t ucslen(const uint16_t *str)
|
||||||
|
Loading…
Reference in New Issue
Block a user