/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
/* DEBUG: section 25 MIME Parsing and Internal Icons */
#include "squid.h"
-#include "disk.h"
#include "fde.h"
+#include "fs_io.h"
#include "globals.h"
#include "HttpHdrCc.h"
#include "HttpReply.h"
#include "Store.h"
#include "StoreClient.h"
+#include <array>
+
#if HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
}
MimeIcon::MimeIcon(const char *aName) :
- icon_(aName)
+ url_(nullptr)
{
- url_ = xstrdup(internalLocalUri("/squid-internal-static/icons/", icon_));
+ setName(aName);
}
MimeIcon::~MimeIcon()
return;
if ((fp = fopen(filename, "r")) == NULL) {
- debugs(25, DBG_IMPORTANT, "mimeInit: " << filename << ": " << xstrerror());
+ int xerrno = errno;
+ debugs(25, DBG_IMPORTANT, "mimeInit: " << filename << ": " << xstrerr(xerrno));
return;
}
if (status == Http::scOkay) {
/* read the file into the buffer and append it to store */
int n;
- char *buf = (char *)memAllocate(MEM_4K_BUF);
- while ((n = FD_READ_METHOD(fd, buf, sizeof(*buf))) > 0)
- e->append(buf, n);
+ std::array<char, 4096> buf;
+ while ((n = FD_READ_METHOD(fd, buf.data(), buf.size())) > 0)
+ e->append(buf.data(), n);
file_close(fd);
- memFree(buf, MEM_4K_BUF);
}
e->flush();