changeset 2414:69a5af2eb1ea

Remove useless dmMemset().
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 13 Jan 2020 23:27:01 +0200
parents 902cc22018a1
children a2c565ae8098
files Makefile Makefile.cross-mingw editor/edmain.cpp minijss/jssmix.c minijss/jssmod.c minijss/jssplr.c src/dmengine.c src/dmfft.c src/dmgrowbuf.c src/dmlib.c src/dmlib.h src/dmpack.c src/dmperlin.c src/dmres.c src/dmsimple.c src/dmvecmat.c src/dmzlib.c src/stb_image.c tests/dzlibtest.c tools/gfxconv.c tools/lib64gfx.c tools/libgfx.c tools/objlink.c tools/packed.c tools/ppl.c
diffstat 25 files changed, 59 insertions(+), 84 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Mon Jan 13 23:20:56 2020 +0200
+++ b/Makefile	Mon Jan 13 23:27:01 2020 +0200
@@ -1,8 +1,6 @@
 #
 # Generic UNIX targets
 #
-DM_CFLAGS += -DDM_HAVE_MEMSET=1
-
 DMLIB ?= ./
 BINPATH ?= ./
 OBJPATH ?= ./obj/unix/
--- a/Makefile.cross-mingw	Mon Jan 13 23:20:56 2020 +0200
+++ b/Makefile.cross-mingw	Mon Jan 13 23:27:01 2020 +0200
@@ -25,7 +25,6 @@
 OBJPATH ?= ./obj/win32/
 endif
 
-DM_CFLAGS += -DDM_HAVE_MEMSET=1
 DMLIB ?= ./
 BINPATH ?= ./exe/
 BINEXT ?= .exe
--- a/editor/edmain.cpp	Mon Jan 13 23:20:56 2020 +0200
+++ b/editor/edmain.cpp	Mon Jan 13 23:27:01 2020 +0200
@@ -34,7 +34,7 @@
 
     if (engine->paused)
     {
-        dmMemset(stream, 0, len);
+        memset(stream, 0, len);
     }
     else
 #ifdef DM_USE_JSS
@@ -100,7 +100,7 @@
     resize(1024, 768);
     setWindowTitle(QCoreApplication::applicationName());
 
-    dmMemset(&engine, 0, sizeof(engine));
+    memset(&engine, 0, sizeof(engine));
     initSDL = FALSE;
     currTimeline = NULL;
 
--- a/minijss/jssmix.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/minijss/jssmix.c	Mon Jan 13 23:27:01 2020 +0200
@@ -176,7 +176,7 @@
 #endif
     dmFree(mixer->addBuffer);
 
-    dmMemset(mixer, 0, sizeof(JSSMixer));
+    memset(mixer, 0, sizeof(JSSMixer));
     dmFree(mixer);
 
     return DMERR_OK;
@@ -382,7 +382,7 @@
     assert(mixLength * mixer->outChannels <= mixer->addBufSize);
 
     // Clear mixer->addBuffer
-    dmMemset(mixer->addBuffer, 0, mixLength * mixer->outChannels * sizeof(JMIXER_ADDBUF_TYPE));
+    memset(mixer->addBuffer, 0, mixLength * mixer->outChannels * sizeof(JMIXER_ADDBUF_TYPE));
 
     ab = mixer->addBuffer;
     mixLeft = mixLength;
@@ -692,7 +692,7 @@
 void jvmClear(JSSMixer * mixer, const int channel)
 {
     JSS_LOCK(mixer);
-    dmMemset(&mixer->channels[channel], 0, sizeof(JSSChannel));
+    memset(&mixer->channels[channel], 0, sizeof(JSSChannel));
     JSS_UNLOCK(mixer);
 }
 
--- a/minijss/jssmod.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/minijss/jssmod.c	Mon Jan 13 23:27:01 2020 +0200
@@ -327,7 +327,7 @@
 #endif
 
     // Free the module structure
-    dmMemset(module, 0, sizeof(JSSModule));
+    memset(module, 0, sizeof(JSSModule));
     dmFree(module);
 
     return DMERR_OK;
--- a/minijss/jssplr.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/minijss/jssplr.c	Mon Jan 13 23:27:01 2020 +0200
@@ -268,7 +268,7 @@
 #endif
 
     // Clear structure
-    dmMemset(mp, 0, sizeof(JSSPlayer));
+    memset(mp, 0, sizeof(JSSPlayer));
     dmFree(mp);
 
     return DMERR_OK;
@@ -288,7 +288,7 @@
  */
 void jmpClearChannel(JSSPlayerChannel *chn)
 {
-    dmMemset(chn, 0, sizeof(JSSPlayerChannel));
+    memset(chn, 0, sizeof(JSSPlayerChannel));
 
     chn->note            = jsetNotSet;
     chn->ninstrument     = jsetNotSet;
--- a/src/dmengine.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmengine.c	Mon Jan 13 23:27:01 2020 +0200
@@ -452,7 +452,7 @@
     // If paused, just render nothing
     if (engine->paused)
     {
-        dmMemset(stream, 0, len);
+        memset(stream, 0, len);
     }
     else
     // Otherwise, render audio
--- a/src/dmfft.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmfft.c	Mon Jan 13 23:27:01 2020 +0200
@@ -67,7 +67,7 @@
     {
         dmFree(ctx->breversed);
         dmFree(ctx->sinTable);
-        dmMemset(ctx, 0, sizeof(DMFFTContext));
+        memset(ctx, 0, sizeof(DMFFTContext));
     }
 }
 
--- a/src/dmgrowbuf.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmgrowbuf.c	Mon Jan 13 23:27:01 2020 +0200
@@ -22,7 +22,7 @@
     if (buf == NULL)
         return DMERR_NULLPTR;
 
-    dmMemset(buf, 0, sizeof(DMGrowBuf));
+    memset(buf, 0, sizeof(DMGrowBuf));
 
     return DMERR_OK;
 }
@@ -68,7 +68,7 @@
             return;
 
         dmFree(buf->data);
-        dmMemset(buf, 0, sizeof(DMGrowBuf));
+        memset(buf, 0, sizeof(DMGrowBuf));
     }
 }
 
@@ -90,14 +90,14 @@
     if ((dst->data = dmMalloc(dst->size)) == NULL)
     {
         // If that fails, clear the struct
-        dmMemset(dst, 0, sizeof(DMGrowBuf));
+        memset(dst, 0, sizeof(DMGrowBuf));
         return NULL;
     }
 
     // Copy data
     memcpy(dst->data, src->data, src->size);
     if (enlarge > 0)
-        dmMemset(dst->data + src->size, 0, enlarge);
+        memset(dst->data + src->size, 0, enlarge);
 
     // And reset some struct information
     dst->is_const = FALSE;
@@ -204,9 +204,9 @@
     if (clear)
     {
         if (buf->backwards)
-            dmMemset(buf->data, 0, clrsize);
+            memset(buf->data, 0, clrsize);
         else
-            dmMemset(buf->data + buf->size, 0, clrsize);
+            memset(buf->data + buf->size, 0, clrsize);
     }
 
     buf->size = nsize;
--- a/src/dmlib.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmlib.c	Mon Jan 13 23:27:01 2020 +0200
@@ -123,19 +123,6 @@
 }
 
 
-#ifndef DM_HAVE_MEMSET
-void * dmMemset(void *ptr, const int c, size_t n)
-{
-    Uint8 *p = (Uint8 *) ptr;
-
-    while (n--)
-        *p++ = c;
-
-    return ptr;
-}
-#endif
-
-
 BOOL dmGetIntVal(const char *str, unsigned int *value, BOOL *neg)
 {
     int ch;
--- a/src/dmlib.h	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmlib.h	Mon Jan 13 23:27:01 2020 +0200
@@ -439,15 +439,6 @@
 void       dmFreeRReal(void **ptr);
 #define    dmFreeR(ptr) dmFreeRReal((void **) ptr)
 
-#if defined(DM_HAVE_MEMSET) || defined(DM_HAVE_STRING_H)
-static inline void * dmMemset(void *ptr, const int c, size_t n)
-{
-    return memset(ptr, c, n);
-}
-#else
-void *     dmMemset(void *ptr, const int c, size_t n);
-#endif
-
 
 /** String trimming option flags for dm_strdup_trim()
  */
--- a/src/dmpack.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmpack.c	Mon Jan 13 23:27:01 2020 +0200
@@ -217,7 +217,7 @@
     dmFree(pack->filename);
 
     // Free packfile
-    dmMemset(pack, 0, sizeof(DMPackFile));
+    memset(pack, 0, sizeof(DMPackFile));
     dmFree(pack);
 
     return DMERR_OK;
--- a/src/dmperlin.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmperlin.c	Mon Jan 13 23:27:01 2020 +0200
@@ -75,7 +75,7 @@
     if (ctx == NULL)
         return DMERR_NULLPTR;
 
-    dmMemset(ctx, 0, sizeof(*ctx));
+    memset(ctx, 0, sizeof(*ctx));
 
     if (seed < 0)
         return DMERR_INVALID_ARGS;
--- a/src/dmres.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmres.c	Mon Jan 13 23:27:01 2020 +0200
@@ -382,7 +382,7 @@
     }
 
     // Initialize decompression
-    dmMemset(&zstr, 0, sizeof(zstr));
+    memset(&zstr, 0, sizeof(zstr));
     zstr.next_out = handle->rawData;
     zstr.avail_out = handle->rawSize;
     cdataLeft = node->length;
--- a/src/dmsimple.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmsimple.c	Mon Jan 13 23:27:01 2020 +0200
@@ -627,7 +627,7 @@
     int err;
     BOOL initSDL = FALSE;
 
-    dmMemset(&engine, 0, sizeof(engine));
+    memset(&engine, 0, sizeof(engine));
 
     // Pre-initialization
     if ((err = demoPreInit(&engine)) != DMERR_OK)
--- a/src/dmvecmat.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmvecmat.c	Mon Jan 13 23:27:01 2020 +0200
@@ -79,7 +79,7 @@
  */
 void dm_matrix_unit(DMMatrix *mat)
 {
-    dmMemset(mat, 0, sizeof(DMMatrix));
+    memset(mat, 0, sizeof(DMMatrix));
     mat->m[0][0] = 1.0f;
     mat->m[1][1] = 1.0f;
     mat->m[2][2] = 1.0f;
--- a/src/dmzlib.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/dmzlib.c	Mon Jan 13 23:27:01 2020 +0200
@@ -92,8 +92,8 @@
     int i, k = 0;
     int code, nextCode[16], sizes[17];
 
-    dmMemset(sizes, 0, sizeof(sizes));
-    dmMemset(ctx->fast, 0, sizeof(ctx->fast));
+    memset(sizes, 0, sizeof(sizes));
+    memset(ctx->fast, 0, sizeof(ctx->fast));
 
     for (i = 0; i < num; i++)
         sizes[sizelist[i]]++;
@@ -412,7 +412,7 @@
 
     // Get lengths table (uninitialized entries should be set to 0)
     codeLengths[256] = 0;
-    dmMemset(codeLengthSizes, 0, sizeof(codeLengthSizes));
+    memset(codeLengthSizes, 0, sizeof(codeLengthSizes));
     for (i = 0; i < hclen; i++)
     {
         int s = dmZReceive(ctx, 3);
@@ -447,20 +447,20 @@
                 return dmErrorDBG(DMERR_INVALID_DATA,
                     "Invalid bit length repeat.\n");
             }
-            dmMemset(codeLengths + n, codeLengths[n - 1], bv);
+            memset(codeLengths + n, codeLengths[n - 1], bv);
             n += bv;
         }
         else
         if (c == 17)
         {
             int bv = dmZReceive(ctx, 3) + 3;
-            dmMemset(codeLengths + n, 0, bv);
+            memset(codeLengths + n, 0, bv);
             n += bv;
         }
         else
         {
             int bv = dmZReceive(ctx, 7) + 11;
-            dmMemset(codeLengths + n, 0, bv);
+            memset(codeLengths + n, 0, bv);
             n += bv;
         }
     }
@@ -562,7 +562,7 @@
     if (ctx == NULL)
         return DMERR_NULLPTR;
 
-    dmMemset(ctx, 0, sizeof(DMZLibContext));
+    memset(ctx, 0, sizeof(DMZLibContext));
     return DMERR_OK;
 }
 
@@ -571,7 +571,7 @@
 {
     if (ctx != NULL)
     {
-        dmMemset(ctx, 0, sizeof(DMZLibContext));
+        memset(ctx, 0, sizeof(DMZLibContext));
     }
 }
 
--- a/src/stb_image.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/src/stb_image.c	Mon Jan 13 23:27:01 2020 +0200
@@ -1371,7 +1371,7 @@
    h->maxcode[j] = 0xffffffff;
 
    // build non-spec acceleration table; 255 is flag for not-accelerated
-   dmMemset(h->fast, 255, 1 << FAST_BITS);
+   memset(h->fast, 255, 1 << FAST_BITS);
    for (i=0; i < k; ++i) {
       int s = h->size[i];
       if (s <= FAST_BITS) {
@@ -1551,7 +1551,7 @@
    if (t < 0) return stbi__err("bad huffman code","Corrupt JPEG");
 
    // 0 all the ac values now so we can do it 32-bits at a time
-   dmMemset(data,0,64*sizeof(data[0]));
+   memset(data,0,64*sizeof(data[0]));
 
    diff = t ? stbi__extend_receive(j, t) : 0;
    dc = j->img_comp[b].dc_pred + diff;
@@ -1603,7 +1603,7 @@
 
    if (j->succ_high == 0) {
       // first scan for DC coefficient, must be first
-      dmMemset(data,0,64*sizeof(data[0])); // 0 all the ac values now
+      memset(data,0,64*sizeof(data[0])); // 0 all the ac values now
       t = stbi__jpeg_huff_decode(j, hdc);
       diff = t ? stbi__extend_receive(j, t) : 0;
 
@@ -4560,7 +4560,7 @@
    pixelCount = w*h;
 
    // Initialize the data to zero.
-   //dmMemset( out, 0, pixelCount * 4 );
+   //memset( out, 0, pixelCount * 4 );
 
    // Finally, the image data.
    if (compression) {
@@ -4843,7 +4843,7 @@
 
    // intermediate buffer is RGBA
    result = (Uint8 *) dmMalloc(x*y*4);
-   dmMemset(result, 0xff, x*y*4);
+   memset(result, 0xff, x*y*4);
 
    if (!stbi__pic_load_core(s,x,y,comp, result)) {
       dmFree(result);
@@ -5193,7 +5193,7 @@
 {
    Uint8 *u = 0;
    stbi__gif g;
-   dmMemset(&g, 0, sizeof(g));
+   memset(&g, 0, sizeof(g));
 
    u = stbi__gif_load_next(s, &g, comp, req_comp);
    if (u == (Uint8 *) s) u = 0;  // end of animated gif marker
--- a/tests/dzlibtest.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tests/dzlibtest.c	Mon Jan 13 23:27:01 2020 +0200
@@ -180,7 +180,7 @@
     dmMsg(0, "Operating mode: %s\n",
         compress ? "compress" : "decompress");
 
-    dmMemset(&zstr, 0, sizeof(zstr));
+    memset(&zstr, 0, sizeof(zstr));
 
     if ((inBuffer = malloc(SET_TMPBUF_SIZE)) == NULL ||
         (outBuffer = malloc(SET_TMPBUF_SIZE)) == NULL)
--- a/tools/gfxconv.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/gfxconv.c	Mon Jan 13 23:27:01 2020 +0200
@@ -1394,7 +1394,7 @@
                                 break;
 
                             case DO_SET_OP:
-                                dmMemset(dstBlk->data, op->offs, size);
+                                memset(dstBlk->data, op->offs, size);
                                 break;
 
                             default:
--- a/tools/lib64gfx.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/lib64gfx.c	Mon Jan 13 23:27:01 2020 +0200
@@ -115,7 +115,7 @@
     if ((blk->data = dmRealloc(blk->data, size)) == NULL)
         return DMERR_MALLOC;
 
-    dmMemset(blk->data + blk->size, 0, size - blk->size);
+    memset(blk->data + blk->size, 0, size - blk->size);
 
     blk->size = size;
     return DMERR_OK;
@@ -164,7 +164,7 @@
     img->fmt      = fmt->format;
     img->nblocks  = nblocks + 1;
 
-    dmMemset(img->extraInfo, 0, sizeof(img->extraInfo));
+    memset(img->extraInfo, 0, sizeof(img->extraInfo));
     img->extraInfo[D64_EI_MODE] = fmt->format->mode;
 }
 
@@ -217,7 +217,7 @@
         for (int i = 0; i < D64_MAX_EXTRA_DATA; i++)
             dmC64MemBlockFree(&img->extraData[i]);
 
-        dmMemset(img, 0, sizeof(DMC64Image));
+        memset(img, 0, sizeof(DMC64Image));
         dmFree(img);
     }
 }
@@ -979,19 +979,19 @@
                                 break;
 
                             case DO_SET_MEM:
-                                dmMemset(blk->data + ctx.op->blkoffs, *src, ctx.size);
+                                memset(blk->data + ctx.op->blkoffs, *src, ctx.size);
                                 break;
 
                             case DO_SET_MEM_HI:
-                                dmMemset(blk->data + ctx.op->blkoffs, (*src >> 4) & 0x0f, ctx.size);
+                                memset(blk->data + ctx.op->blkoffs, (*src >> 4) & 0x0f, ctx.size);
                                 break;
 
                             case DO_SET_MEM_LO:
-                                dmMemset(blk->data + ctx.op->blkoffs, *src & 0x0f, ctx.size);
+                                memset(blk->data + ctx.op->blkoffs, *src & 0x0f, ctx.size);
                                 break;
 
                             case DO_SET_OP:
-                                dmMemset(blk->data + ctx.op->blkoffs, ctx.op->offs, ctx.size);
+                                memset(blk->data + ctx.op->blkoffs, ctx.op->offs, ctx.size);
                                 break;
 
                             default:
@@ -1480,8 +1480,8 @@
                 src->extraInfo[D64_EI_MODE]);
     }
 
-    dmMemset(dst->data, 0, dst->size);
-    dmMemset(&scan, 0, sizeof(scan));
+    memset(dst->data, 0, dst->size);
+    memset(&scan, 0, sizeof(scan));
 
     // Perform conversion
     for (int yc = 0; yc < dst->height; yc++)
--- a/tools/libgfx.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/libgfx.c	Mon Jan 13 23:27:01 2020 +0200
@@ -1177,7 +1177,7 @@
             goto error;
         }
 
-        dmMemset(palette, 0, PNG_MAX_PALETTE_LENGTH * sizeof(png_color));
+        memset(palette, 0, PNG_MAX_PALETTE_LENGTH * sizeof(png_color));
 
         for (int i = 0; i < img->pal->ncolors; i++)
         {
@@ -1565,7 +1565,7 @@
     pcx.fp     = fp;
 
     // Create PCX header
-    dmMemset(&hdr, 0, sizeof(hdr));
+    memset(&hdr, 0, sizeof(hdr));
     if (spec.pixfmt == DM_PIXFMT_PALETTE ||
         spec.pixfmt == DM_PIXFMT_GRAYSCALE)
     {
@@ -1891,7 +1891,7 @@
                 break;
 
             case 1:
-                dmMemset(dp, 0, img->width);
+                memset(dp, 0, img->width);
 
                 for (int nplane = 0; nplane < hdr.nplanes; nplane++)
                 {
@@ -2235,7 +2235,7 @@
     if (iff->idsig == IFF_ID_ACBM)
     {
         // Initialize destination image data
-        dmMemset(img->data, 0, img->size);
+        memset(img->data, 0, img->size);
 
         for (int plane = 0; plane < nplanes; plane++)
         {
@@ -2267,7 +2267,7 @@
         if (iff->idsig == IFF_ID_ILBM)
         {
             // Clear planar decoding buffer
-            dmMemset(dp, 0, img->pitch);
+            memset(dp, 0, img->pitch);
 
             for (int plane = 0; plane < nplanes; plane++)
             {
@@ -2332,7 +2332,7 @@
     BOOL parsed = FALSE;
     int res = DMERR_OK;
 
-    dmMemset(&iff, 0, sizeof(iff));
+    memset(&iff, 0, sizeof(iff));
 
     // Read IFF FORM header
     if ((res = dmReadIFFChunkHdr(fp, &chunk)) != DMERR_OK)
@@ -2912,7 +2912,7 @@
         for (int plane = 0; plane < iff.bmhd.nplanes; plane++)
         {
             // Encode bitplane
-            dmMemset(buf, 0, bufLen);
+            memset(buf, 0, bufLen);
 
             for (int yc = 0; yc < img->height * spec->scaleY; yc++)
             {
@@ -2943,7 +2943,7 @@
                 for (int plane = 0; plane < spec->nplanes; plane++)
                 {
                     // Encode bitplane
-                    dmMemset(buf, 0, bufLen);
+                    memset(buf, 0, bufLen);
 
                     for (int xc = 0; xc < img->width * spec->scaleX; xc++)
                         buf[xc / 8] |= ((sp[xc / spec->scaleX] >> plane) & 1) << (7 - (xc & 7));
@@ -2961,7 +2961,7 @@
                 // Write mask data, if any
                 if (iff.bmhd.masking == IFF_MASK_HAS_MASK)
                 {
-                    dmMemset(buf, 0, bufLen);
+                    memset(buf, 0, bufLen);
 
                     for (int xc = 0; xc < img->width * spec->scaleX; xc++)
                         buf[xc / 8] |= (sp[xc / spec->scaleX] == img->pal->ctransp) << (7 - (xc & 7));
--- a/tools/objlink.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/objlink.c	Mon Jan 13 23:27:01 2020 +0200
@@ -847,7 +847,7 @@
     if (optInitValueType == 1 || optInitValue <= 0xff)
     {
         dmPrint(1, "BYTE 0x%.2x\n", optInitValue);
-        dmMemset(memory, optInitValue, memModel->size);
+        memset(memory, optInitValue, memModel->size);
     }
     else
     if (optInitValueType == 2 || optInitValue <= 0xffff)
--- a/tools/packed.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/packed.c	Mon Jan 13 23:27:01 2020 +0200
@@ -345,7 +345,7 @@
     if (compress)
     {
         int zret;
-        dmMemset(&zstr, 0, sizeof(zstr));
+        memset(&zstr, 0, sizeof(zstr));
         if (deflateInit(&zstr, level) != Z_OK)
         {
             ret = DMERR_COMPRESSION;
@@ -462,7 +462,7 @@
     // Read and uncompress the data, if needed
     if (decompress || (entry->flags & DMF_COMPRESSED) == 0)
     {
-        dmMemset(&zstr, 0, sizeof(zstr));
+        memset(&zstr, 0, sizeof(zstr));
         if (inflateInit(&zstr) != Z_OK)
         {
             ret = DMERR_COMPRESSION;
--- a/tools/ppl.c	Mon Jan 13 23:20:56 2020 +0200
+++ b/tools/ppl.c	Mon Jan 13 23:27:01 2020 +0200
@@ -553,7 +553,7 @@
     int result = -1;
     BOOL muteState = FALSE;
 
-    dmMemset(&eng, 0, sizeof(eng));
+    memset(&eng, 0, sizeof(eng));
 
     eng.optScrWidth = 640;
     eng.optScrHeight = 480;