+++ /dev/null
-diff -up cups-1.4.5/filter/pstops.c.page-label cups-1.4.5/filter/pstops.c
---- cups-1.4.5/filter/pstops.c.page-label 2010-08-31 20:36:08.000000000 +0200
-+++ cups-1.4.5/filter/pstops.c 2010-11-12 13:11:11.000000000 +0100
-@@ -108,6 +108,7 @@ typedef struct /**** Document informa
- int num_options; /* Number of document-wide options */
- cups_option_t *options; /* Document-wide options */
- int normal_landscape, /* Normal rotation for landscape? */
-+ orientation, /* Original orientation of the document */
- saw_eof, /* Saw the %%EOF comment? */
- slow_collate, /* Collate copies by hand? */
- slow_duplex, /* Duplex pages slowly? */
-@@ -2083,7 +2084,7 @@ do_setup(pstops_doc_t *doc, /* I - Docu
- * of the pages...
- */
-
-- if (Orientation & 1)
-+ if (doc->orientation & 1)
- write_label_prolog(doc, doc->page_label, PageBottom,
- PageWidth - PageLength + PageTop, PageLength);
- else
-@@ -2091,7 +2092,30 @@ do_setup(pstops_doc_t *doc, /* I - Docu
- PageLength);
- }
- else
-- write_label_prolog(doc, doc->page_label, PageBottom, PageTop, PageWidth);
-+ {
-+ switch (doc->orientation)
-+ {
-+ case 0 :
-+ write_label_prolog(doc, doc->page_label, PageBottom, PageTop,
-+ PageWidth);
-+ break;
-+
-+ case 1 :
-+ write_label_prolog(doc, doc->page_label, PageLeft, PageRight,
-+ PageLength);
-+ break;
-+
-+ case 2 :
-+ write_label_prolog(doc, doc->page_label, PageLength - PageTop,
-+ PageLength - PageBottom, PageWidth);
-+ break;
-+
-+ case 3 :
-+ write_label_prolog(doc, doc->page_label, PageWidth - PageRight,
-+ PageWidth - PageLeft, PageLength);
-+ break;
-+ }
-+ }
- }
-
-
-@@ -2176,7 +2200,7 @@ end_nup(pstops_doc_t *doc, /* I - Docum
- case 1 :
- if (doc->use_ESPshowpage)
- {
-- write_labels(doc, Orientation);
-+ write_labels(doc, doc->orientation);
- doc_puts(doc, "ESPshowpage\n");
- }
- break;
-@@ -2191,7 +2215,7 @@ end_nup(pstops_doc_t *doc, /* I - Docum
- * Rotate the labels back to portrait...
- */
-
-- write_labels(doc, Orientation - 1);
-+ write_labels(doc, doc->orientation - 1);
- }
- else if (Orientation == 0)
- {
-@@ -2217,7 +2241,7 @@ end_nup(pstops_doc_t *doc, /* I - Docum
- default :
- if (is_last_page(number) && doc->use_ESPshowpage)
- {
-- write_labels(doc, Orientation);
-+ write_labels(doc, doc->orientation);
- doc_puts(doc, "ESPshowpage\n");
- }
- break;
-@@ -2433,6 +2457,12 @@ set_pstops_options(
- Orientation = 0;
-
- /*
-+ * Save original orientation of the document
-+ */
-+
-+ doc->orientation = Orientation;
-+
-+ /*
- * AP_FIRSTPAGE_* and the corresponding non-first-page options.
- */
-