OSDN Git Service
(root)
/
hengband
/
hengband.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Null pointer check added
[hengband/hengband.git]
/
src
/
util.c
diff --git
a/src/util.c
b/src/util.c
index
dd42052
..
b626282
100644
(file)
--- a/
src/util.c
+++ b/
src/util.c
@@
-293,7
+293,11
@@
static errr path_temp(char *buf, int max)
if (!s) return (-1);
/* Format to length */
if (!s) return (-1);
/* Format to length */
+#ifndef WIN32
(void)strnfmt(buf, max, "%s", s);
(void)strnfmt(buf, max, "%s", s);
+#else
+ (void)strnfmt(buf, max, ".%s", s);
+#endif
/* Success */
return (0);
/* Success */
return (0);
@@
-2451,7
+2455,7
@@
void message_add(cptr str)
}
/* Limit the multiplier to 1000 */
}
/* Limit the multiplier to 1000 */
- if (
buf &&
streq(buf, str) && (j < 1000))
+ if (streq(buf, str) && (j < 1000))
{
j++;
{
j++;
@@
-3622,7
+3626,10
@@
bool get_com(cptr prompt, char *command, bool z_escape)
prt(prompt, 0, 0);
/* Get a key */
prt(prompt, 0, 0);
/* Get a key */
- *command = inkey();
+ if (get_com_no_macros)
+ *command = inkey_special(FALSE);
+ else
+ *command = inkey();
/* Clear the prompt */
prt("", 0, 0);
/* Clear the prompt */
prt("", 0, 0);
@@
-4846,14
+4853,9
@@
static void swap(tag_type *a, tag_type *b)
{
tag_type temp;
{
tag_type temp;
- temp.tag = a->tag;
- temp.pointer = a->pointer;
-
- a->tag = b->tag;
- a->pointer = b->pointer;
-
- b->tag = temp.tag;
- b->pointer = temp.pointer;
+ temp = *a;
+ *a = *b;
+ *b = temp;
}
}
@@
-5214,26
+5216,29
@@
size_t my_strcpy(char *buf, const char *src, size_t bufsize)
const char *s = src;
size_t len = 0;
const char *s = src;
size_t len = 0;
- /* reserve for NUL termination */
- bufsize--;
+ if (bufsize > 0) {
+ /* reserve for NUL termination */
+ bufsize--;
- /* Copy as many bytes as will fit */
- while (len < bufsize)
- {
- if (iskanji(*s))
+ /* Copy as many bytes as will fit */
+ while (*s && (len < bufsize))
{
{
- if (len + 1 >= bufsize || !*(s+1)) break;
- *d++ = *s++;
- *d++ = *s++;
- len += 2;
- }
- else
- {
- *d++ = *s++;
- len++;
+ if (iskanji(*s))
+ {
+ if (len + 1 >= bufsize || !*(s+1)) break;
+ *d++ = *s++;
+ *d++ = *s++;
+ len += 2;
+ }
+ else
+ {
+ *d++ = *s++;
+ len++;
+ }
}
}
+ *d = '\0';
}
}
- *d = '\0';
+
while(*s++) len++;
return len;
while(*s++) len++;
return len;