]> skyeroc.xyz Git - dgamelaunch/commitdiff
Remove dgl-wall.c
authorPasi Kallinen <paxed@alt.org>
Sun, 6 Apr 2008 08:28:37 +0000 (08:28 +0000)
committerPasi Kallinen <paxed@alt.org>
Sun, 6 Apr 2008 08:28:37 +0000 (08:28 +0000)
git-svn-id: svn://katsu.triplehelix.org/dgamelaunch/trunk@440 db0b04b0-f4d1-0310-9a6d-de3e77497b0e

dgl-wall.c [deleted file]

diff --git a/dgl-wall.c b/dgl-wall.c
deleted file mode 100644 (file)
index f074c6f..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/* dgl-wall sends a message to all logged in users. If you specified a
- * configuration file to dgamelaunch, you must do so as well for dgl-wall,
- * or else the message won't be sent. */
-
-#include <fcntl.h>
-#include <dirent.h>
-#include <pwd.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <errno.h>
-#include <string.h>
-#include "dgamelaunch.h"
-
-int
-main (int argc, char** argv)
-{
-  int c, i, len;
-  char buf[82], *ptr = buf, *from = NULL;
-  struct dg_game ** games = NULL;
-  struct flock fl = { 0 };
-  struct passwd* pw = getpwuid(getuid());
-  FILE* spool = NULL;
-
-  fl.l_type = F_WRLCK;
-  fl.l_whence = SEEK_SET;
-  fl.l_start = 0;
-  fl.l_len = 0;
-
-  *ptr = '\0';
-
-  while ((c = getopt(argc, argv, "f:F:")) != -1)
-  {
-    switch (c)
-    {
-      case 'f':
-        config = strdup(optarg);
-       break;
-      case 'F':
-       from = strdup(optarg);
-       break;
-      default:
-       goto usage;
-    }
-  }
-  
-  if (from == NULL)
-    from = pw->pw_name;
-
-  while (optind < argc)
-  {
-    if (strlen(buf) != 0)
-      strlcat (buf, " ", sizeof(buf));
-    strlcat (buf, argv[optind++], sizeof(buf));
-  }
-  if (strlen(buf) > 80)
-  {
-    fprintf(stderr, "Error: Message is too long! (80 chars max)\n");
-    return 1;
-  }
-
-  if (strlen(buf) == 0)
-  {
-usage:
-    fprintf(stderr, "Usage: %s [-f config] [-F fromname] message\n", argv[0]);
-    return 1;
-  }
-
-  create_config();
-
-  if (chroot (globalconfig.chroot))
-  {
-    perror("Couldn't change root directory");
-    return 1;
-  }
-
-  if (chdir ("/"))
-  {
-    perror("Couldn't chdir to root directory");
-    return 1;
-  }
-  
-  games = populate_games (-1, &len);
-
-  if (len == 0)
-  {
-    fprintf(stderr, "Error: no one's logged in!\n");
-    return 1;
-  }
-
-  for (i = 0; i < len; i++)
-  {
-    char* fname = NULL;
-    size_t len;
-
-    len = strlen(myconfig[0]->spool) + strlen(games[i]->name) + 2;
-    fname = malloc (len + 1);
-
-    snprintf(fname, len, "%s/%s", myconfig[0]->spool, games[i]->name);
-    
-    if ((spool = fopen(fname, "a")) == NULL)
-    {
-      fprintf (stderr, "Warning: couldn't open mailbox for %s.\n", games[i]->name);
-      free (fname);
-      continue;
-    }
-
-    while (fcntl (fileno(spool), F_SETLK, &fl) == -1)
-    {
-      if (errno != EAGAIN)
-       fprintf (stderr, "Warning: fcntl errored out trying to lock mailbox for %s\n",
-           games[i]->name);
-      sleep(1);
-    }
-   
-    /* Now that we have the lock, begin the write */
-
-    fprintf(spool, "%s:%s\n", from, buf);
-    fclose(spool);
-    free(fname);
-  }
-
-  puts("Message sent successfully.");
-  return 0;
-}
-