88 lines
2.9 KiB
Diff
88 lines
2.9 KiB
Diff
|
diff -up texlive-2007/texk/dvipsk/hps.c.dvipsoverflow texlive-2007/texk/dvipsk/hps.c
|
||
|
--- texlive-2007/texk/dvipsk/hps.c.dvipsoverflow 2007-11-22 15:44:30.000000000 +0100
|
||
|
+++ texlive-2007/texk/dvipsk/hps.c 2007-11-22 15:46:10.000000000 +0100
|
||
|
@@ -441,19 +441,32 @@ int href_name_match P2C(char *, h, char
|
||
|
|
||
|
void stamp_hps P1C(Hps_link *, pl)
|
||
|
{
|
||
|
- char tmpbuf[200] ;
|
||
|
+ char * tmpbuf;
|
||
|
if (pl == NULL) {
|
||
|
error("Null pointer, oh no!") ;
|
||
|
return ;
|
||
|
- } else {
|
||
|
- /* print out the proper pdfm with local page info only
|
||
|
- * target info will be in the target dictionary */
|
||
|
- (void)sprintf(tmpbuf,
|
||
|
- " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ", pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
|
||
|
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
|
||
|
- pl->color[0], pl->color[1], pl->color[2]) ;
|
||
|
- cmdout(tmpbuf) ;
|
||
|
- }
|
||
|
+ }
|
||
|
+ if(pl->title == NULL) {
|
||
|
+ error("Null pointer, oh no!") ;
|
||
|
+ return ;
|
||
|
+ }
|
||
|
+
|
||
|
+ tmpbuf = (char *) malloc(strlen(pl->title)+200);
|
||
|
+ if(tmpbuf == NULL) {
|
||
|
+ error("out of memory, oh no!") ;
|
||
|
+ return ;
|
||
|
+ }
|
||
|
+
|
||
|
+ /* print out the proper pdfm with local page info only
|
||
|
+ * target info will be in the target dictionary */
|
||
|
+ (void)sprintf(tmpbuf,
|
||
|
+ " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ",
|
||
|
+ pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
|
||
|
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
|
||
|
+ pl->color[0], pl->color[1], pl->color[2]) ;
|
||
|
+ cmdout(tmpbuf) ;
|
||
|
+ free(tmpbuf);
|
||
|
+
|
||
|
|
||
|
}
|
||
|
|
||
|
@@ -462,18 +475,31 @@ void stamp_hps P1C(Hps_link *, pl)
|
||
|
*/
|
||
|
void stamp_external P2C(char *, s, Hps_link *, pl)
|
||
|
{
|
||
|
- char tmpbuf[200];
|
||
|
+ char *tmpbuf;
|
||
|
if (pl == NULL) {
|
||
|
error("Null pointer, oh no!") ;
|
||
|
return ;
|
||
|
- } else {
|
||
|
- /* print out the proper pdfm with local page info only
|
||
|
- * target info will be in the target dictionary */
|
||
|
- (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ", pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
|
||
|
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
|
||
|
- pl->color[0], pl->color[1], pl->color[2], s) ;
|
||
|
- cmdout(tmpbuf) ;
|
||
|
- }
|
||
|
+ }
|
||
|
+
|
||
|
+ if (s == NULL) {
|
||
|
+ error("Null pointer, oh no!") ;
|
||
|
+ return ;
|
||
|
+ }
|
||
|
+
|
||
|
+ tmpbuf = (char *) malloc(strlen(s) + 200);
|
||
|
+ if(tmpbuf == NULL) {
|
||
|
+ error("out of memory, oh no!") ;
|
||
|
+ return ;
|
||
|
+ }
|
||
|
+
|
||
|
+ /* print out the proper pdfm with local page info only
|
||
|
+ * target info will be in the target dictionary */
|
||
|
+ (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ",
|
||
|
+ pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
|
||
|
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
|
||
|
+ pl->color[0], pl->color[1], pl->color[2], s) ;
|
||
|
+ cmdout(tmpbuf) ;
|
||
|
+ free(tmpbuf);
|
||
|
}
|
||
|
|
||
|
void finish_hps P1H(void) {
|