sysfunc.c no without any compiling warning

origin
stpohle 23 years ago
parent ba710ea584
commit 0562c58875

@ -1,11 +1,11 @@
/* $Id: sysfunc.c,v 1.4 2003/05/06 21:34:07 stpohle Exp $ /* $Id: sysfunc.c,v 1.5 2003/05/06 22:47:05 stpohle Exp $
sysfunc.c - this file hold some routines for the system functions.. sysfunc.c - this file hold some routines for the system functions..
like d_delay like d_delay
*/ */
#include "bomberclone.h" #include "bomberclone.h"
#include "sysfunc.h" #include "sysfunc.h"
void void
s_delay (int ms) s_delay (int ms)
{ {
fd_set selectset; fd_set selectset;
@ -15,10 +15,12 @@ s_delay (int ms)
tval.tv_sec = 0; tval.tv_sec = 0;
tval.tv_usec = ms; tval.tv_usec = ms;
select (1, &selectset, NULL, NULL, &tval); select (1, &selectset, NULL, NULL, &tval);
} int };
int
s_random (int maxnr) s_random (int maxnr)
{ {
#ifdef _WIN32 #ifdef _WIN32
return ((rand () * maxnr) / RAND_MAX); return ((rand () * maxnr) / RAND_MAX);
#else #else
int i; int i;
@ -29,21 +31,23 @@ s_random (int maxnr)
return i; return i;
#endif #endif
}; };
static char homedir[255];
char * static char homedir[255];
char *
s_gethomedir () s_gethomedir ()
{ {
char *hd; char *hd;
if ((hd = getenv ("HOME")) == NULL) { if ((hd = getenv ("HOME")) == NULL) {
/* Homedir konnte nicht ermittelt werden. */ /* Homedir konnte nicht ermittelt werden. */
homedir[0] = 0; homedir[0] = 0;
d_printf ("Variable HOME could not be found\n"); d_printf ("Variable HOME could not be found\n");
} }
else { else {
strncpy (homedir, hd, 253); strncpy (homedir, hd, 253);
homedir[strlen (homedir) + 1] = 0; homedir[strlen (homedir) + 1] = 0;
#ifdef _WIN32 #ifdef _WIN32
if (homedir[strlen (homedir) - 1] != '\\') if (homedir[strlen (homedir) - 1] != '\\')
homedir[strlen (homedir)] = '\\'; homedir[strlen (homedir)] = '\\';
#else #else
@ -53,8 +57,11 @@ s_gethomedir ()
} }
return homedir; return homedir;
}; };
static _direntry direntrys[MAX_DIRENTRYS];
_direntry * s_getdir (char *path) static _direntry direntrys[MAX_DIRENTRYS];
_direntry *
s_getdir (char *path)
{ {
DIR *dp; DIR *dp;
struct dirent *ep; struct dirent *ep;
@ -70,7 +77,7 @@ s_gethomedir ()
if (strlen (ep->d_name) >= LEN_FILENAME) if (strlen (ep->d_name) >= LEN_FILENAME)
direntrys[entrynr].name[LEN_FILENAME - 1] = 0; direntrys[entrynr].name[LEN_FILENAME - 1] = 0;
sprintf (filename, "%s/%s\0", path, direntrys[entrynr].name); sprintf (filename, "%s/%s", path, direntrys[entrynr].name);
stat (filename, &fstat); stat (filename, &fstat);
if (S_ISREG (fstat.st_mode)) { if (S_ISREG (fstat.st_mode)) {
direntrys[entrynr].flags = DF_file; direntrys[entrynr].flags = DF_file;
@ -93,25 +100,27 @@ s_gethomedir ()
return &direntrys[0]; return &direntrys[0];
}; };
_direntry *
s_dirfilter (_direntry * dirstart, signed char dirflags)
{
_direntry *newstart = NULL,
*pos = NULL,
*old = NULL;
_direntry *s_dirfilter (_direntry *dirstart, signed char dirflags) { for (pos = dirstart; pos != NULL; pos = pos->next)
_direntry *newstart = NULL, *pos = NULL, *old = NULL; if (pos->name[0] != '.' && (pos->flags & dirflags) != 0) {
if (newstart == NULL) {
for (pos = dirstart; pos != NULL; pos = pos->next) newstart = pos;
if (pos->name[0] != '.' && (pos->flags & dirflags) != 0) { old = pos;
if (newstart == NULL) { }
newstart = pos; else {
old = pos; old->next = pos;
} old = pos;
else { }
old->next = pos; }
old = pos;
} if (old != NULL)
} old->next = NULL;
if (old != NULL)
old->next = NULL;
return newstart;
};
return newstart;
};

Loading…
Cancel
Save