a few more fixes.

SVN revision: 2392
This commit is contained in:
Mandrake 2000-03-31 02:25:12 +00:00
parent 16491b4d25
commit b1228e176b
6 changed files with 93 additions and 81 deletions

View File

@ -67,42 +67,42 @@
#define LIST_TYPE_CLIENT 1
typedef struct _list
{
int type;
char *name;
int id;
void *item;
{
int type;
char *name;
int id;
void *item;
struct _list *next;
}
struct _list *next;
}
List;
typedef struct _client
{
char *name;
Window win;
char *msg;
char *clientname;
char *version;
char *author;
char *email;
char *web;
char *address;
char *info;
Pixmap pmap;
}
{
char *name;
Window win;
char *msg;
char *clientname;
char *version;
char *author;
char *email;
char *web;
char *address;
char *info;
Pixmap pmap;
}
Client;
typedef struct _root
{
Window win;
Visual *vis;
int depth;
Colormap cmap;
int scr;
int w, h;
Window focuswin;
}
{
Window win;
Visual *vis;
int depth;
Colormap cmap;
int scr;
int w, h;
Window focuswin;
}
Root;
int EExit(void *code);
@ -219,11 +219,17 @@ extern int debug_level;
}
#endif
void Alert(char *fmt,...);
void Alert(char *fmt, ...);
void InitStringList(void);
void AssignIgnoreFunction(int (*FunctionToAssign) (void *), void *params);
void AssignRestartFunction(int (*FunctionToAssign) (void *), void *params);
void AssignExitFunction(int (*FunctionToAssign) (void *), void *params);
void AssignIgnoreFunction(int (*FunctionToAssign) (void *),
void *params);
void AssignRestartFunction(int (*FunctionToAssign) (void *),
void *params);
void AssignExitFunction(int (*FunctionToAssign) (void *),
void *params);
void AssignTitleText(char *text);
void AssignIgnoreText(char *text);
void AssignRestartText(char *text);

View File

@ -1,3 +1,4 @@
/*
Copyright (C) 2000 Carsten Haitzler, Geoff Harrison and various contributors
@ -41,7 +42,7 @@ int call_level;
int debug_level;
void
Alert(char *fmt,...)
Alert(char *fmt, ...)
{
char text[10240];
va_list ap;

View File

@ -49,11 +49,11 @@ CommsFindCommsWindow()
if (a != None)
{
s = NULL;
XGetWindowProperty(disp, root.win, a, 0, 14, False, AnyPropertyType, &ar,
&format, &num, &after, &s);
XGetWindowProperty(disp, root.win, a, 0, 14, False, AnyPropertyType,
&ar, &format, &num, &after, &s);
if (s)
{
comms_win = 0;
comms_win = 0;
sscanf((char *)s, "%*s %x", (unsigned int *)&comms_win);
XFree(s);
}
@ -68,8 +68,8 @@ CommsFindCommsWindow()
if (comms_win)
{
XGetWindowProperty(disp, comms_win, a, 0, 14, False,
AnyPropertyType, &ar, &format, &num, &after,
&s);
AnyPropertyType, &ar, &format, &num,
&after, &s);
if (s)
XFree(s);
else

View File

@ -230,8 +230,7 @@ cp(char *s, char *ss)
EDBUG_RETURN_;
}
time_t
moddate(char *s)
time_t moddate(char *s)
{
struct stat st;
@ -327,7 +326,8 @@ char *
username(int uid)
{
char *s;
#ifndef __EMX__
#ifndef __EMX__
struct passwd *pwd;
EDBUG(9, "username");
@ -339,8 +339,8 @@ username(int uid)
EDBUG_RETURN(s);
}
#else
if ((s = getenv("USER")) != NULL)
EDBUG_RETURN(duplicate(s));
if ((s = getenv("USER")) != NULL)
EDBUG_RETURN(duplicate(s));
#endif
EDBUG_RETURN(duplicate("unknown"));
}
@ -349,7 +349,8 @@ char *
homedir(int uid)
{
char *s;
#ifndef __EMX__
#ifndef __EMX__
struct passwd *pwd;
EDBUG(9, "homedir");
@ -361,10 +362,10 @@ homedir(int uid)
EDBUG_RETURN(s);
}
#else
if ((s = getenv("HOME")) != NULL)
EDBUG_RETURN(duplicate(s));
if ((s = getenv("TMP")) != NULL)
EDBUG_RETURN(duplicate(s));
if ((s = getenv("HOME")) != NULL)
EDBUG_RETURN(duplicate(s));
if ((s = getenv("TMP")) != NULL)
EDBUG_RETURN(duplicate(s));
#endif
EDBUG_RETURN(duplicate("/tmp"));
}
@ -372,7 +373,7 @@ homedir(int uid)
char *
usershell(int uid)
{
#ifndef __EMX__
#ifndef __EMX__
char *s;
struct passwd *pwd;
@ -386,7 +387,7 @@ usershell(int uid)
}
EDBUG_RETURN(duplicate("/bin/sh"));
#else
EDBUG_RETURN(duplicate("sh.exe"));
EDBUG_RETURN(duplicate("sh.exe"));
#endif
}
@ -612,9 +613,9 @@ pathtoexec(char *file)
s[len] = 0;
s = Erealloc(s, len + 2 + exelen);
#ifdef __EMX__
if (s[len-1] != '/')
if (s[len - 1] != '/')
#endif
strcat(s, "/");
strcat(s, "/");
strcat(s, file);
if (canexec(s))
EDBUG_RETURN(s);
@ -630,9 +631,9 @@ pathtoexec(char *file)
s[len] = 0;
s = Erealloc(s, len + 2 + exelen);
#ifdef __EMX__
if (s[len-1] != '/')
if (s[len - 1] != '/')
#endif
strcat(s, "/");
strcat(s, "/");
strcat(s, file);
if (canexec(s))
EDBUG_RETURN(s);
@ -652,7 +653,7 @@ pathtofile(char *file)
#ifndef __EMX__
if (file[0] == '/')
#else
if (_fnisabs(file))
if (_fnisabs(file))
#endif
{
if (exists(file))
@ -679,9 +680,9 @@ pathtofile(char *file)
s[len] = 0;
s = Erealloc(s, len + 2 + exelen);
#ifdef __EMX__
if (s[len-1] != '/')
if (s[len - 1] != '/')
#endif
strcat(s, "/");
strcat(s, "/");
strcat(s, file);
if (exists(s))
EDBUG_RETURN(s);
@ -697,9 +698,9 @@ pathtofile(char *file)
s[len] = 0;
s = Erealloc(s, len + 2 + exelen);
#ifdef __EMX__
if (s[len-1] != '/')
if (s[len - 1] != '/')
#endif
strcat(s, "/");
strcat(s, "/");
strcat(s, file);
if (exists(s))
EDBUG_RETURN(s);

View File

@ -1,3 +1,4 @@
/*
* Copyright (C) 2000 Carsten Haitzler, Geoff Harrison and various contributors
*
@ -52,7 +53,8 @@ FindItem(char *name, int id, int find_by, int type)
{
while (ptr)
{
if ((ptr->type == type) && (!strcmp(name, ptr->name)) && (ptr->id == id))
if ((ptr->type == type) && (!strcmp(name, ptr->name))
&& (ptr->id == id))
EDBUG_RETURN(ptr->item);
ptr = ptr->next;
}
@ -140,7 +142,8 @@ RemoveItem(char *name, int id, int find_by, int type)
{
while (ptr)
{
if ((ptr->type == type) && (!strcmp(name, ptr->name)) && (ptr->id == id))
if ((ptr->type == type) && (!strcmp(name, ptr->name))
&& (ptr->id == id))
{
if (pptr)
pptr->next = ptr->next;

View File

@ -24,16 +24,18 @@
#include "E.h"
#include <sys/time.h>
#ifdef __EMX__
#include <io.h> /* for select() in EMX */
#include <io.h> /* for select() in EMX */
#endif
#include <sys/types.h>
#include <unistd.h>
extern char waitonly;
static int stdin_state;
void restore_stdin_state(void);
void restore_stdin_state(void) {
static int stdin_state;
void restore_stdin_state(void);
void
restore_stdin_state(void)
{
fcntl(0, F_SETFL, stdin_state);
}
@ -59,24 +61,23 @@ main(int argc, char **argv)
{
if (i != (argc - 1))
{
command = argv[++i];
command = argv[++i];
}
}
else if (!strcmp(argv[i], "-ewait"))
{
waitonly = 1;
if (i != (argc - 1))
command = argv[++i];
command = argv[++i];
}
else if (!strcmp(argv[i], "-display"))
{
else if (!strcmp(argv[i], "-display"))
{
if (i != (argc - 1))
display_name = duplicate(argv[++i]);
}
display_name = duplicate(argv[++i]);
}
else if ((!strcmp(argv[i], "-h")) ||
(!strcmp(argv[i], "--h")) ||
(!strcmp(argv[i], "-help")) ||
(!strcmp(argv[i], "--help")))
(!strcmp(argv[i], "-help")) || (!strcmp(argv[i], "--help")))
{
printf("%s [ -e \"Command to Send to Enlightenment then exit\"]\n"
" [ -ewait \"Command to Send to E then wait for a reply then exit\"]\n",
@ -109,18 +110,18 @@ main(int argc, char **argv)
if (command)
{
CommsSend(e, command);
if (!waitonly)
{
XSync(disp, False);
exit(0);
}
CommsSend(e, command);
if (!waitonly)
{
XSync(disp, False);
exit(0);
}
}
XSync(disp, False);
j = 0;
stdin_state = fcntl(0, F_GETFL, 0);
atexit( restore_stdin_state );
atexit(restore_stdin_state);
fcntl(0, F_SETFL, O_NONBLOCK);
for (;;)
{