/* vms-misc.c -- BFD back-end for VMS/VAX (openVMS/VAX) and
EVAX (openVMS/Alpha) files.
- Copyright (C) 1996-2020 Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
Miscellaneous functions.
char *
_bfd_vms_save_counted_string (bfd *abfd, unsigned char *ptr, size_t maxlen)
{
- unsigned int len = *ptr++;
+ unsigned int len;
- if (len > maxlen)
+ if (maxlen == 0)
+ return NULL;
+ len = *ptr++;
+ if (len > maxlen - 1)
return NULL;
return _bfd_vms_save_sized_string (abfd, ptr, len);
}
vms_convert_to_var_1 (char *filename, int type)
{
if (type != DECC$K_FILE)
- return FALSE;
+ return false;
vms_convert_to_var (filename);
- return TRUE;
+ return true;
}
/* Convert the file to variable record length format. This is done
_bfd_vms_convert_to_var_unix_filename (const char *unix_filename)
{
if (decc$to_vms (unix_filename, &vms_convert_to_var_1, 0, 1) != 1)
- return FALSE;
- return TRUE;
+ return false;
+ return true;
}
#endif /* VMS */
stolen from obj-vms.c. */
unsigned char *
-get_vms_time_string (void)
+get_vms_time_string (unsigned char *tbuf)
{
- static unsigned char tbuf[18];
#ifndef VMS
char *pnt;
time_t timeb;
The result has to be free(). */
char *
-vms_get_module_name (const char *filename, bfd_boolean upcase)
+vms_get_module_name (const char *filename, bool upcase)
{
char *fname, *fptr;
const char *fout;