diff -ur dvipng-1.15.orig/pk.c dvipng-1.15/pk.c --- dvipng-1.15.orig/pk.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/pk.c 2015-03-04 08:26:11.000000000 +0100 @@ -347,7 +347,7 @@ position = skip_specials(position); while (*position != PK_POST) { DEBUG_PRINT(DEBUG_PK,("\n @%ld PK CHAR:\t%d", - (long)position - (long)tfontp->fmmap.data, *position)); + (long)((char *)position - tfontp->fmmap.data), *position)); if ((tcharptr = malloc(sizeof(struct char_entry))) == NULL) Fatal("cannot allocate space for char_entry"); tcharptr->flag_byte = *position; diff -ur dvipng-1.15.orig/special.c dvipng-1.15/special.c --- dvipng-1.15.orig/special.c 2015-03-03 13:04:09.000000000 +0100 +++ dvipng-1.15/special.c 2015-03-03 13:11:16.000000000 +0100 @@ -214,7 +214,7 @@ savestdout = _dup(fileno(stdout)); _dup2(pngpipe[WRITE_END], fileno(stdout)); if ((hchild= - (HANDLE)spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution, + (HANDLE)_spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution, "-dBATCH", "-dNOPAUSE", "-q", "-sOutputFile=-", "-dTextAlphaBits=4", "-dGraphicsAlphaBits=4", (option_flags & NO_GSSAFER) ? "-": "-dSAFER", diff -ur dvipng-1.15.orig/tfm.c dvipng-1.15/tfm.c --- dvipng-1.15.orig/tfm.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/tfm.c 2015-03-04 08:27:58.000000000 +0100 @@ -56,7 +56,7 @@ position=(unsigned char*)fmmap.data+24+lh*4; while(c <= ec) { DEBUG_PRINT(DEBUG_TFM,("\n@%ld TFM METRICS:\t", - (long)position - (long)fmmap.data)); + (long)((char *)position - fmmap.data))); if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL) Fatal("cannot allocate memory for TFM char entry"); tcharptr->data=NULL; diff -ur dvipng-1.15.orig/vf.c dvipng-1.15/vf.c --- dvipng-1.15.orig/vf.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/vf.c 2015-03-04 08:29:50.000000000 +0100 @@ -80,7 +80,7 @@ position += 8; while(*position >= FNT_DEF1 && *position <= FNT_DEF4) { DEBUG_PRINT(DEBUG_VF,("\n @%ld VF:\t%s", - (long)position - (long)tfontp->fmmap.data, + (long)((char *)position - tfontp->fmmap.data), dvi_commands[*position])); FontDef(position,tfontp); length = dvi_commandlength[*position]; @@ -95,7 +95,7 @@ /* Read char definitions */ while(*position < FNT_DEF1) { DEBUG_PRINT(DEBUG_VF,("\n@%ld VF CHAR:\t", - (long)position - (long)tfontp->fmmap.data)); + (long)((char *)position - tfontp->fmmap.data))); if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL) Fatal("cannot allocate memory for VF char entry"); switch (*position) {