MCPcopy Create free account
hub / github.com/OpenPrinting/cups / do_delete_printer

Function do_delete_printer

cgi-bin/admin.c:1858–1936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1856 */
1857
1858static void
1859do_delete_printer(http_t *http) /* I - HTTP connection */
1860{
1861 ipp_t *request; /* IPP request */
1862 char uri[HTTP_MAX_URI]; /* Job URI */
1863 const char *printer; /* Printer printer name */
1864
1865
1866 /*
1867 * Get form variables...
1868 */
1869
1870 if (cgiGetVariable("CONFIRM") == NULL)
1871 {
1872 cgiStartHTML(cgiText(_("Delete Printer")));
1873 cgiCopyTemplateLang("printer-confirm.tmpl");
1874 cgiEndHTML();
1875 return;
1876 }
1877
1878 if ((printer = cgiGetTextfield("PRINTER_NAME")) != NULL)
1879 httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
1880 "localhost", 0, "/printers/%s", printer);
1881 else
1882 {
1883 cgiStartHTML(cgiText(_("Delete Printer")));
1884 cgiSetVariable("ERROR", cgiText(_("Missing form variable")));
1885 cgiCopyTemplateLang("error.tmpl");
1886 cgiEndHTML();
1887 return;
1888 }
1889
1890 /*
1891 * Build a CUPS_DELETE_PRINTER request, which requires the following
1892 * attributes:
1893 *
1894 * attributes-charset
1895 * attributes-natural-language
1896 * printer-uri
1897 */
1898
1899 request = ippNewRequest(CUPS_DELETE_PRINTER);
1900
1901 ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
1902 NULL, uri);
1903
1904 /*
1905 * Do the request and get back a response...
1906 */
1907
1908 ippDelete(cupsDoRequest(http, request, "/admin/"));
1909
1910 /*
1911 * Show the results...
1912 */
1913
1914 if (cupsLastError() == IPP_NOT_AUTHORIZED)
1915 {

Callers 1

mainFunction · 0.85

Calls 14

cgiGetVariableFunction · 0.85
cgiStartHTMLFunction · 0.85
cgiTextFunction · 0.85
cgiCopyTemplateLangFunction · 0.85
cgiEndHTMLFunction · 0.85
cgiGetTextfieldFunction · 0.85
httpAssembleURIfFunction · 0.85
cgiSetVariableFunction · 0.85
ippNewRequestFunction · 0.85
ippAddStringFunction · 0.85
ippDeleteFunction · 0.85
cupsDoRequestFunction · 0.85

Tested by

no test coverage detected