mirror of
https://github.com/michaelrsweet/mxml.git
synced 2024-11-24 03:15:30 +00:00
Fix Windows compile errors.
This commit is contained in:
parent
e676eb35cb
commit
528c89ef86
@ -115,11 +115,11 @@ mxmlElementGetAttr(mxml_node_t *node, // I - Element node
|
||||
|
||||
const char * // O - Attribute value
|
||||
mxmlElementGetAttrByIndex(
|
||||
mxml_node_t *node, // I - Node
|
||||
int idx, // I - Attribute index, starting at `0`
|
||||
const char **name) // O - Attribute name or `NULL` to not return it
|
||||
mxml_node_t *node, // I - Node
|
||||
size_t idx, // I - Attribute index, starting at `0`
|
||||
const char **name) // O - Attribute name or `NULL` to not return it
|
||||
{
|
||||
if (!node || node->type != MXML_TYPE_ELEMENT || idx < 0 || idx >= node->value.element.num_attrs)
|
||||
if (!node || node->type != MXML_TYPE_ELEMENT || idx >= node->value.element.num_attrs)
|
||||
return (NULL);
|
||||
|
||||
if (name)
|
||||
|
32
mxml-file.c
32
mxml-file.c
@ -211,10 +211,10 @@ mxmlLoadFilename(
|
||||
// for example:
|
||||
//
|
||||
// ```c
|
||||
// ssize_t my_io_cb(void *cbdata, void *buffer, size_t bytes)
|
||||
// size_t my_io_cb(void *cbdata, void *buffer, size_t bytes)
|
||||
// {
|
||||
// ... copy up to "bytes" bytes into buffer ...
|
||||
// ... return the number of bytes "read" or -1 on error ...
|
||||
// ... return the number of bytes "read" or 0 on error ...
|
||||
// }
|
||||
// ```
|
||||
//
|
||||
@ -511,10 +511,10 @@ mxmlSaveFilename(
|
||||
// example:
|
||||
//
|
||||
// ```c
|
||||
// ssize_t my_io_cb(void *cbdata, const void *buffer, size_t bytes)
|
||||
// size_t my_io_cb(void *cbdata, const void *buffer, size_t bytes)
|
||||
// {
|
||||
// ... write/copy bytes from buffer to the output ...
|
||||
// ... return the number of bytes written/copied or -1 on error ...
|
||||
// ... return the number of bytes written/copied or 0 on error ...
|
||||
// }
|
||||
// ```
|
||||
//
|
||||
@ -1858,12 +1858,16 @@ mxml_read_cb_fd(int *fd, // I - File descriptor
|
||||
void *buffer, // I - Buffer
|
||||
size_t bytes) // I - Bytes to read
|
||||
{
|
||||
#if _WIN32
|
||||
int rbytes; // Bytes read
|
||||
|
||||
|
||||
rbytes = read(*fd, buffer, bytes);
|
||||
|
||||
#else
|
||||
ssize_t rbytes; // Bytes read
|
||||
|
||||
|
||||
#if _WIN32
|
||||
rbytes = read(*fd, buffer, buffer);
|
||||
#else
|
||||
while ((rbytes = read(*fd, buffer, bytes)) < 0)
|
||||
{
|
||||
if (errno != EINTR && errno != EAGAIN)
|
||||
@ -1917,7 +1921,7 @@ mxml_read_cb_string(
|
||||
sb->bufptr += bytes;
|
||||
}
|
||||
|
||||
return ((ssize_t)bytes);
|
||||
return (bytes);
|
||||
}
|
||||
|
||||
|
||||
@ -2009,12 +2013,16 @@ mxml_io_cb_fd(int *fd, // I - File descriptor
|
||||
void *buffer, // I - Buffer
|
||||
size_t bytes) // I - Bytes to write
|
||||
{
|
||||
#if _WIN32
|
||||
int wbytes; // Bytes written
|
||||
|
||||
|
||||
wbytes = write(*fd, buffer, bytes);
|
||||
|
||||
#else
|
||||
ssize_t wbytes; // Bytes written
|
||||
|
||||
|
||||
#if _WIN32
|
||||
wbytes = write(*fd, buffer, bytes);
|
||||
#else
|
||||
while ((wbytes = write(*fd, buffer, bytes)) < 0)
|
||||
{
|
||||
if (errno != EINTR && errno != EAGAIN)
|
||||
@ -2159,7 +2167,7 @@ mxml_write_node(
|
||||
if (attr->value)
|
||||
width += strlen(attr->value) + 3;
|
||||
|
||||
if (options && options->wrap > 0 && (col + width) > options->wrap)
|
||||
if (options && options->wrap > 0 && (col + (int)width) > options->wrap)
|
||||
col = mxml_write_string("\n", io_cb, io_cbdata, /*use_entities*/false, col);
|
||||
else
|
||||
col = mxml_write_string(" ", io_cb, io_cbdata, /*use_entities*/false, col);
|
||||
|
@ -846,7 +846,7 @@ mxmlRetain(mxml_node_t *node) // I - Node
|
||||
static void
|
||||
mxml_free(mxml_node_t *node) // I - Node
|
||||
{
|
||||
int i; // Looping var
|
||||
size_t i; // Looping var
|
||||
|
||||
|
||||
switch (node->type)
|
||||
|
2
mxml.h
2
mxml.h
@ -141,7 +141,7 @@ extern void mxmlDelete(mxml_node_t *node);
|
||||
|
||||
extern void mxmlElementClearAttr(mxml_node_t *node, const char *name);
|
||||
extern const char *mxmlElementGetAttr(mxml_node_t *node, const char *name);
|
||||
extern const char *mxmlElementGetAttrByIndex(mxml_node_t *node, int idx, const char **name);
|
||||
extern const char *mxmlElementGetAttrByIndex(mxml_node_t *node, size_t idx, const char **name);
|
||||
extern size_t mxmlElementGetAttrCount(mxml_node_t *node);
|
||||
extern void mxmlElementSetAttr(mxml_node_t *node, const char *name, const char *value);
|
||||
extern void mxmlElementSetAttrf(mxml_node_t *node, const char *name, const char *format, ...) MXML_FORMAT(3,4);
|
||||
|
Loading…
Reference in New Issue
Block a user