#include <sys/dir.h>
#include <sys/stat.h>
#include <linux/input.h>
+#include "msgbox.h"
#include "io.h"
extern int instance;
struct input_event ev;
static unsigned short rccode=-1;
-static int rc;
+static int rc = 0;
int InitRC(void)
{
int InitRC(void);
int CloseRC(void);
int RCKeyPressed(void);
+int GetRCCode(void);
#endif
char *line_buffer=NULL, *title=NULL;
int size=24, type=0, timeout=0, refresh=3, flash=0, selection=0, tbuttons=0, buttons=0, bpline=3, echo=0, absolute=0, mute=1, header=1, cyclic=1;
-char *butmsg[16];
int rbutt[16],hide=0,radius=10;
// Misc
-char NOMEM[]="msgbox <Out of memory>\n";
+const char NOMEM[]="msgbox <Out of memory>\n";
char TMP_FILE[64]="/tmp/msgbox.tmp";
unsigned char *lfb = 0, *lbb = 0, *obb = 0, *hbb = 0, *ibb = 0;
unsigned char nstr[BUFSIZE]="";
unsigned char *trstr;
unsigned rc,sc[8]={'a','o','u','A','O','U','z','d'}, tc[8]={0xE4,0xF6,0xFC,0xC4,0xD6,0xDC,0xDF,0xB0};
-char INST_FILE[]="/tmp/rc.locked";
+const char INST_FILE[]="/tmp/rc.locked";
int instance=0;
int get_instance(void)
void put_instance(int pval)
{
-FILE *fh;
-
if(pval)
{
+ FILE *fh;
if((fh=fopen(INST_FILE,"w"))!=NULL)
{
fputc(pval,fh);
}
}
-static void quit_signal(int sig)
+static void quit_signal()
{
put_instance(get_instance()-1);
printf("msgbox Version %.2f killed\n",M_VERSION);
int Read_Neutrino_Cfg(char *entry)
{
FILE *nfh;
-char tstr [512], *cfptr=NULL;
int rv=-1;
if((nfh=fopen(NCF_FILE,"r"))!=NULL)
{
- tstr[0]=0;
-
+ char tstr [512]={0}, *cfptr=NULL;
while((!feof(nfh)) && ((strstr(tstr,entry)==NULL) || ((cfptr=strchr(tstr,'='))==NULL)))
{
fgets(tstr,500,nfh);
if((xfh=fopen(msg,"r"))!=NULL)
{
fclose(xfh);
- strcpy(TMP_FILE,msg);
+ snprintf(TMP_FILE,sizeof(TMP_FILE),"%s",msg);
}
else
{
int main (int argc, char **argv)
{
-int index,index2,tv,found=0, spr;
+int index=0,tv=0,found=0, spr=0;
int dloop=1, rcc=-1, cupd=0;
-char rstr[BUFSIZE], *rptr, *aptr;
-time_t tm1,tm2;
-unsigned int alpha;
+char rstr[BUFSIZE]={0}, *rptr=NULL, *aptr=NULL;
+time_t tm1=0,tm2=0;
//clock_t tk1=0;
FILE *fh;
int startx, starty, sx, ex, sy, ey, debounce, rblock;
extern unsigned sc[8], tc[8];
-extern char *butmsg[MAX_BUTTONS];
+char *butmsg[MAX_BUTTONS];
extern int buttons,selection;
extern int instance;
int get_instance(void);
FT_Error MyFaceRequester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *aface)
{
FT_Error result;
-
+ request_data=request_data;//for unused request_data
result = FT_New_Face(library, face_id, 0, aface);
if(result) printf("msgbox <Font \"%s\" failed>\n", (char*)face_id);
if(color != -1) /* don't render char, return charwidth only */
{
- if(sx + sbit->xadvance >= ex) return -1; /* limit to maxwidth */
-
+ if(sx + sbit->xadvance >= ex){
+ return -1; /* limit to maxwidth */
+ }
for(row = 0; row < sbit->height; row++)
{
for(pitch = 0; pitch < sbit->pitch; pitch++)
* GetStringLen
******************************************************************************/
-int GetStringLen(int sx, unsigned char *string, int size)
+int GetStringLen(int sx, char *string, int size)
{
-int i, found;
+unsigned int i = 0;
int stringlen = 0;
//reset kerning
}
else
{
- found=0;
- for(i=0; i<sizeof(sc) && !found; i++)
+ int found=0;
+ for(i=0; i<sizeof(sc)/sizeof(sc[0]) && !found; i++)
{
if(*string==sc[i])
{
int RenderString(char *string, int sx, int sy, int maxwidth, int layout, int size, int color)
{
- int stringlen, ex, charwidth,i,found;
- char rstr[BUFSIZE], *rptr=rstr, rc;
+ int stringlen = 0, ex = 0, charwidth = 0,found = 0;
+ unsigned int i = 0;
+ char rstr[BUFSIZE]={0}, *rptr=rstr, rc=' ';
int varcolor=color;
//set size
-
- strcpy(rstr,string);
+ snprintf(rstr,sizeof(rstr),"%s",string);
desc.width = desc.height = size;
TABULATOR=3*size;
++rptr;
rc=*rptr;
found=0;
- for(i=0; i<sizeof(sc) && !found; i++)
+ for(i=0; i< sizeof(sc)/sizeof(sc[0]) && !found; i++)
{
if(rc==sc[i])
{
- rc=tc[i];
found=1;
}
}
case 'Y': varcolor=YELLOW; break;
case 'B': varcolor=BLUE1; break;
case 'S': varcolor=color; break;
- case 't':
+ case 't':
sx=TABULATOR*((int)(sx/TABULATOR)+1);
break;
case 'T':
FT_Error MyFaceRequester(FTC_FaceID face_id, FT_Library library, FT_Pointer request_data, FT_Face *aface);
int RenderString(char *string, int sx, int sy, int maxwidth, int layout, int size, int color);
-int GetStringLen(int sx, unsigned char *string, int size);
+int GetStringLen(int sx, char *string, int size);
void CatchTabs(char *text);
#endif
int fh_txt_trans(const char *name, int xs, int xw, int ys, int dy, int size, int line, int *cut, int *x, int *y, int plot)
{
char tstr[BUFSIZE],rstr[BUFSIZE],*tptr;
-int loop=1, j, first, slen, cnt=0;
+int loop=1, j, slen, cnt=0;
FILE *fh;
int just, color=CMCT;
if(!(fh=fopen(name,"rb"))) return(FH_ERROR_FILE);
- first=(line==0);
*x=0;
*y=0;
while((loop>0) && (fgets(tstr, sizeof(tstr), fh)))
if(loop>=line)
{
RenderString(rstr, xs, ys, xw, just, size, color);
- if(strlen(rstr))
- {
- first=0;
- }
ys+=dy;
}
}