/* * kakumei-invite.c * * generate invitations for kakumei. * * Author: Dario Rodriguez dario@softhome.net * This program is licensed under the terms of the Affero GPL v1+ */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/stat.h> #include <sys/types.h> #define INVITATIONUSER "invitation" #define INVITESDIR "data/invitations" int main(int argc, char *argv[]) { int numinvites; FILE *invite,*f; int i; char *name,*ptr; if(argc<3 || (numinvites=atoi(argv[1]))<1 || (f=fopen(argv[2],"a"))==NULL) { printf("Syntax: %s numinvites invitedoc.txt\n",argv[0]); return(1); } mkdir("data",0770); mkdir(INVITESDIR,0700); setenv("TMPDIR",INVITESDIR,1); for(i=0;i<numinvites;i++) { name=tempnam(INVITESDIR,"ka"); if((ptr=strrchr(name,'/'))!=NULL) ptr++; else ptr=name; if((invite=fopen(name,"w"))==NULL) { printf("ERROR: Couldn't generate invitation number %i, exiting\n",i+1); free(name),name=NULL; fclose(f),f=NULL; return(1); } printf("%s\n",ptr); fprintf(invite,"%s\n",ptr); fprintf(f,"Invitation number %i:\n\n\tUser: %s\n\tPass: %s\n\n",i+1,INVITATIONUSER,ptr); fclose(invite),invite=NULL; free(name),name=NULL; } fclose(f),f=NULL; printf("%i invitations generated in file %s\n",i,argv[2]); return(0); }