--- a/mcabber/src/jabglue.c Thu Sep 01 23:48:46 2005 +0200
+++ b/mcabber/src/jabglue.c Fri Sep 02 20:34:17 2005 +0200
@@ -100,7 +100,7 @@
char *alias;
while ((alias = g_strdup(jid)) == NULL)
- usleep(100);
+ safe_usleep(100);
if ((ptr = strchr(alias, '/')) != NULL) {
*ptr = 0;
@@ -196,12 +196,12 @@
char *cid;
if (!online) {
- usleep(10000);
+ safe_usleep(10000);
return;
}
if (jc && jc->state == JCONN_STATE_CONNECTING) {
- usleep(75000);
+ safe_usleep(75000);
jab_start(jc);
return;
}
--- a/mcabber/src/screen.c Thu Sep 01 23:48:46 2005 +0200
+++ b/mcabber/src/screen.c Fri Sep 02 20:34:17 2005 +0200
@@ -301,7 +301,7 @@
tmp->win = newwin(lines, cols, y, x);
while (!tmp->win) {
- usleep(250);
+ safe_usleep(250);
tmp->win = newwin(lines, cols, y, x);
}
wbkgd(tmp->win, COLOR_PAIR(COLOR_GENERAL));
@@ -393,7 +393,7 @@
// You need to set it to the whole prefix length + 1
if (line) {
if (line->timestamp) {
- strftime(date, 35, "%m-%d %H:%M", localtime(&line->timestamp));
+ strftime(date, 30, "%m-%d %H:%M", localtime(&line->timestamp));
} else
strcpy(date, " ");
if (line->flags & HBB_PREFIX_INFO) {
@@ -1159,8 +1159,7 @@
// First message line (we skip leading empty lines)
num = 0;
if (line[0]) {
- multiline = g_new(char, strlen(line)+1);
- strcpy(multiline, line);
+ multiline = g_strdup(line);
num++;
} else
return;
@@ -1327,7 +1326,8 @@
}
strcpy(tmpLine, ptr_inputline);
- strcpy(ptr_inputline, text); ptr_inputline += len;
+ strcpy(ptr_inputline, text);
+ ptr_inputline += len;
strcpy(ptr_inputline, tmpLine);
}
@@ -1535,8 +1535,7 @@
} else { // down-history
// Use next history line instead of a blank line
const char *l = scr_cmdhisto_next("", 0);
- if (l)
- strcpy(inputLine, l);
+ if (l) strcpy(inputLine, l);
// Reset backup history line
cmdhisto_backup[0] = 0;
}
@@ -1545,18 +1544,14 @@
{
const char *l = scr_cmdhisto_prev(inputLine,
ptr_inputline-inputLine);
- if (l) {
- strcpy(inputLine, l);
- }
+ if (l) strcpy(inputLine, l);
}
break;
case KEY_DOWN:
{
const char *l = scr_cmdhisto_next(inputLine,
ptr_inputline-inputLine);
- if (l) {
- strcpy(inputLine, l);
- }
+ if (l) strcpy(inputLine, l);
}
break;
case KEY_PPAGE:
--- a/mcabber/src/utils.c Thu Sep 01 23:48:46 2005 +0200
+++ b/mcabber/src/utils.c Fri Sep 02 20:34:17 2005 +0200
@@ -223,3 +223,12 @@
return retval;
}
+
+// Should only be used for delays < 1s
+inline void safe_usleep(unsigned int usec)
+{
+ struct timespec req;
+ req.tv_sec = 0;
+ req.tv_nsec = (long)usec * 1000L;
+ nanosleep(&req, NULL);
+}
--- a/mcabber/src/utils.h Thu Sep 01 23:48:46 2005 +0200
+++ b/mcabber/src/utils.h Fri Sep 02 20:34:17 2005 +0200
@@ -9,4 +9,6 @@
int to_iso8601(char *dststr, time_t timestamp);
time_t from_iso8601(const char *timestamp, int utc);
+inline void safe_usleep(unsigned int usec); /* Only for delays < 1s */
+
#endif