- CS0String -> UdfString
- Added charspec constructor and friends. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5589 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "CS0String.h"
|
#include "UdfString.h"
|
||||||
#include "Utils.h"
|
#include "Utils.h"
|
||||||
|
|
||||||
using namespace Udf;
|
using namespace Udf;
|
||||||
@@ -23,7 +23,8 @@ using namespace Udf;
|
|||||||
// Constants
|
// Constants
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
//const charspec kCS0Charspec = { _character_set_type: 0,
|
const charspec Udf::kCs0CharacterSet(0, "OSTA Compressed Unicode");
|
||||||
|
//const charspec kCs0Charspec = { _character_set_type: 0,
|
||||||
// _character_set_info: "OSTA Compressed Unicode"
|
// _character_set_info: "OSTA Compressed Unicode"
|
||||||
// "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
// "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||||
// "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
// "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||||
@@ -164,6 +165,12 @@ volume_structure_descriptor_header::id_matches(const char *id)
|
|||||||
// charspec
|
// charspec
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
||||||
|
charspec::charspec(uint8 type, const char *info)
|
||||||
|
{
|
||||||
|
set_character_set_type(type);
|
||||||
|
set_character_set_info(info);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
charspec::dump() const
|
charspec::dump() const
|
||||||
{
|
{
|
||||||
@@ -172,6 +179,13 @@ charspec::dump() const
|
|||||||
PRINT(("character_set_info: `%s'\n", character_set_info()));
|
PRINT(("character_set_info: `%s'\n", character_set_info()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
charspec::set_character_set_info(const char *info)
|
||||||
|
{
|
||||||
|
memset(_character_set_info, 0, 63);
|
||||||
|
if (info)
|
||||||
|
strncpy(_character_set_info, info, 63);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
// timestamp
|
// timestamp
|
||||||
@@ -352,14 +366,14 @@ primary_volume_descriptor::dump() const
|
|||||||
{
|
{
|
||||||
DUMP_INIT("primary_volume_descriptor");
|
DUMP_INIT("primary_volume_descriptor");
|
||||||
|
|
||||||
CS0String string;
|
String string;
|
||||||
|
|
||||||
PRINT(("tag:\n"));
|
PRINT(("tag:\n"));
|
||||||
DUMP(tag());
|
DUMP(tag());
|
||||||
PRINT(("vds_number: %ld\n", vds_number()));
|
PRINT(("vds_number: %ld\n", vds_number()));
|
||||||
PRINT(("primary_volume_descriptor_number: %ld\n", primary_volume_descriptor_number()));
|
PRINT(("primary_volume_descriptor_number: %ld\n", primary_volume_descriptor_number()));
|
||||||
string = volume_identifier();
|
string = volume_identifier();
|
||||||
PRINT(("volume_identifier: `%s'\n", string.String()));
|
PRINT(("volume_identifier: `%s'\n", string.Utf8()));
|
||||||
PRINT(("volume_sequence_number: %d\n", volume_sequence_number()));
|
PRINT(("volume_sequence_number: %d\n", volume_sequence_number()));
|
||||||
PRINT(("max_volume_sequence_number: %d\n", max_volume_sequence_number()));
|
PRINT(("max_volume_sequence_number: %d\n", max_volume_sequence_number()));
|
||||||
PRINT(("interchange_level: %d\n", interchange_level()));
|
PRINT(("interchange_level: %d\n", interchange_level()));
|
||||||
@@ -367,7 +381,7 @@ primary_volume_descriptor::dump() const
|
|||||||
PRINT(("character_set_list: %ld\n", character_set_list()));
|
PRINT(("character_set_list: %ld\n", character_set_list()));
|
||||||
PRINT(("max_character_set_list: %ld\n", max_character_set_list()));
|
PRINT(("max_character_set_list: %ld\n", max_character_set_list()));
|
||||||
string = volume_set_identifier();
|
string = volume_set_identifier();
|
||||||
PRINT(("volume_set_identifier: `%s'\n", string.String()));
|
PRINT(("volume_set_identifier: `%s'\n", string.Utf8()));
|
||||||
PRINT(("descriptor_character_set:\n"));
|
PRINT(("descriptor_character_set:\n"));
|
||||||
DUMP(descriptor_character_set());
|
DUMP(descriptor_character_set());
|
||||||
PRINT(("explanatory_character_set:\n"));
|
PRINT(("explanatory_character_set:\n"));
|
||||||
@@ -463,8 +477,8 @@ logical_volume_descriptor::dump() const
|
|||||||
PRINT(("vds_number: %ld\n", vds_number()));
|
PRINT(("vds_number: %ld\n", vds_number()));
|
||||||
PRINT(("character_set:\n"));
|
PRINT(("character_set:\n"));
|
||||||
DUMP(character_set());
|
DUMP(character_set());
|
||||||
CS0String string(logical_volume_identifier());
|
String string(logical_volume_identifier());
|
||||||
PRINT(("logical_volume_identifier: `%s'\n", string.String()));
|
PRINT(("logical_volume_identifier: `%s'\n", string.Utf8()));
|
||||||
PRINT(("logical_block_size: %ld\n", logical_block_size()));
|
PRINT(("logical_block_size: %ld\n", logical_block_size()));
|
||||||
PRINT(("domain_id:\n"));
|
PRINT(("domain_id:\n"));
|
||||||
DUMP(domain_id());
|
DUMP(domain_id());
|
||||||
|
|||||||
@@ -57,21 +57,22 @@ namespace Udf {
|
|||||||
*/
|
*/
|
||||||
struct charspec {
|
struct charspec {
|
||||||
public:
|
public:
|
||||||
|
charspec(uint8 type = 0, const char *info = NULL);
|
||||||
|
|
||||||
void dump() const;
|
void dump() const;
|
||||||
|
|
||||||
uint8 character_set_type() const { return _character_set_type; }
|
uint8 character_set_type() const { return _character_set_type; }
|
||||||
const char* character_set_info() const { return _character_set_info; }
|
const char* character_set_info() const { return _character_set_info; }
|
||||||
char* character_set_info() { return _character_set_info; }
|
char* character_set_info() { return _character_set_info; }
|
||||||
|
|
||||||
void set_character_set_type(uint8 type) { _character_set_type = type; }
|
void set_character_set_type(uint8 type) { _character_set_type = type; }
|
||||||
|
void set_character_set_info(const char *info);
|
||||||
private:
|
private:
|
||||||
uint8 _character_set_type; //!< to be set to 0 to indicate CS0
|
uint8 _character_set_type; //!< to be set to 0 to indicate CS0
|
||||||
char _character_set_info[63]; //!< "OSTA Compressed Unicode"
|
char _character_set_info[63]; //!< "OSTA Compressed Unicode"
|
||||||
} __attribute__((packed));
|
} __attribute__((packed));
|
||||||
|
|
||||||
|
extern const charspec kCs0CharacterSet;
|
||||||
extern const charspec kCS0Charspec;
|
|
||||||
|
|
||||||
|
|
||||||
/*! \brief Date and time stamp
|
/*! \brief Date and time stamp
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user