.19 & .20 updates
From 
Vincent Coen@2:250/1 to 
Andrew Leary on Wed Dec  2 22:37:49 2020
 
 
Hello Andrew!
Just compiled .20 but if anything getting even more warning reports of  problems
during gcc v8.4 compiles.
I thought these was solved ?
o/p from build.err when using make > build.log 2>build.err
Warning this is a long listing :(
----
m_ticarea.c:924:4: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 5 [-Wstringop-truncation]
    strncpy(tic.Convert, fgroup.Convert, 5);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_ticarea.c:925:4: warning: ‘strncpy’ output may be truncated copying 14 bytes from a string of length 14 [-Wstringop-truncation]
    strncpy(tic.Banner, fgroup.Banner, 14);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_ticarea.c: In function ‘EditTicarea’:
m_ticarea.c:1048:40: warning: ‘%-40s’ directive output may be truncated writing between 40 and 55 bytes into a region of size between 46 and 54 [-Wformat-truncation=]
        snprintf(temp, 81, "%3d.  %-20s %-40s", o + i, tic.Name, tic.
                                        ^~~~~                    ~~~~
 Comment);
 ~~~~~~~
m_ticarea.c:1048:8: note: ‘snprintf’ output between 68 and 91 bytes into a destination of size 81
        snprintf(temp, 81, "%3d.  %-20s %-40s", o + i, tic.Name, tic.
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Comment);
 ~~~~~~~~
m_ticarea.c: In function ‘PickTicarea’:
m_ticarea.c:1159:39: warning: ‘%-40s’ directive output may be truncated writing between 40 and 55 bytes into a region of size between 46 and 54 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-20s %-40s", o + i, tic.Name, tic.Comment);
                                       ^~~~~                    ~~~~~~~~~~~ m_ticarea.c:1159:7: note: ‘snprintf’ output between 68 and 91 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-20s %-40s", o + i, tic.Name, tic.Comment);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ledit.c: In function ‘show_aka’:
ledit.c:2133:35: warning: ‘%s’ directive output may be truncated writing  up
to 12 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
   snprintf(temp, 24, "%d:%d/%d.%d@%s", aka.zone, aka.net, aka.node,  aka.point,
aka.domain);
                                   ^~
~~~~~~~~~~
ledit.c:2133:3: note: ‘snprintf’ output between 9 and 37 bytes into a destination of size 24
   snprintf(temp, 24, "%d:%d/%d.%d@%s", aka.zone, aka.net, aka.node,  aka.point,
aka.domain);
   
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
ledit.c:2131:32: warning: ‘%s’ directive output may be truncated writing  up
to 12 bytes into a region of size between 6 and 18 [-Wformat-truncation=]
   snprintf(temp, 24, "%d:%d/%d@%s", aka.zone, aka.net, aka.node, aka.domain);
                                ^~                                ~~~~~~~~~~ ledit.c:2131:3: note: ‘snprintf’ output between 7 and 31 bytes into a destination of size 24
   snprintf(temp, 24, "%d:%d/%d@%s", aka.zone, aka.net, aka.node, aka.domain);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ m_farea.c: In function ‘CountFilearea’:
m_farea.c:84:27: warning: ‘/foobar’ directive output may be truncated writing 7 bytes into a region of size between 1 and 81 [-Wformat-truncation=]
    snprintf(ffile, 81, "%s/foobar", area.Path);
                           ^~~~~~~
m_farea.c:84:4: note: ‘snprintf’ output between 8 and 88 bytes into a destination of size 81
    snprintf(ffile, 81, "%s/foobar", area.Path);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_fido.c: In function ‘fido_doc’:
m_fido.c:584:16: warning: passing argument 1 to restrict-qualified parameter aliases with argument 4 [-Wrestrict]
       snprintf(temp, 81, "%s %d", temp, fidonet.zone[i]);
                ^~~~               ~~~~
m_fido.c:584:27: warning: ‘%s’ directive output may be truncated writing  up
to 4095 bytes into a region of size 81 [-Wformat-truncation=]
       snprintf(temp, 81, "%s %d", temp, fidonet.zone[i]);
                           ^~      ~~~~
m_fido.c:584:26: note: directive argument in the range [1, 65535]
       snprintf(temp, 81, "%s %d", temp, fidonet.zone[i]);
                          ^~~~~~~
m_fido.c:584:7: note: ‘snprintf’ output between 3 and 4102 bytes into a destination of size 81
       snprintf(temp, 81, "%s %d", temp, fidonet.zone[i]);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_menu.c: In function ‘EditMenu’:
m_menu.c:361:38: warning: ‘%s’ directive output may be truncated writing  up
to 80 bytes into a region of size between 39 and 45 [-Wformat-truncation=]
        snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
                                      ^~
         le_int(menus.MenuSecurity.level), menus.OptionalData);
                                           ~~~~~~~~~~~~~~~~~~
m_menu.c:361:8: note: ‘snprintf’ output between 37 and 123 bytes into a destination of size 81
        snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         le_int(menus.MenuSecurity.level), menus.OptionalData);
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_menu.c:358:38: warning: ‘%s’ directive output may be truncated writing  up
to 80 bytes into a region of size between 39 and 45 [-Wformat-truncation=]
        snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
                                      ^~
         le_int(menus.MenuSecurity.level), menus.Display);
                                           ~~~~~~~~~~~~~
m_menu.c:358:8: note: ‘snprintf’ output between 37 and 123 bytes into a destination of size 81
        snprintf(temp, 81, "%-29s %5d %s", menus.TypeDesc,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         le_int(menus.MenuSecurity.level), menus.Display);
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_menu.c: In function ‘bbs_menu_doc’:
m_menu.c:622:32: warning: ‘%s’ directive output may be truncated writing  up
to 255 bytes into a region of size between 74 and 75 [-Wformat-truncation=]
    snprintf(temp, 81, "menu_%s_%s.html", lang.LangKey, de->d_name);
                                ^~
m_menu.c:622:4: note: ‘snprintf’ output between 12 and 268 bytes into a destination of size 81
    snprintf(temp, 81, "menu_%s_%s.html", lang.LangKey, de->d_name);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_ngroup.c: In function ‘EditNGroup’:
m_ngroup.c:358:39: warning: ‘%-18s’ directive output may be truncated writing between 18 and 55 bytes into a region of size between 54 and 62 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, ngroup.Name, ngroup.Comment);
                                       ^~~~~
~~~~~~~~~~~~~~
m_ngroup.c:358:7: note: ‘snprintf’ output between 38 and 83 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, ngroup.Name, ngroup.Comment);
       
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
m_ngroup.c: In function ‘PickNGroup’:
m_ngroup.c:460:39: warning: ‘%-18s’ directive output may be truncated writing between 18 and 55 bytes into a region of size between 54 and 62 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, ngroup.Name, ngroup.Comment);
                                       ^~~~~
~~~~~~~~~~~~~~
m_ngroup.c:460:7: note: ‘snprintf’ output between 38 and 83 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, ngroup.Name, ngroup.Comment);
       
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
m_fdb.c: In function ‘InitFDB’:
m_fdb.c:393:8: warning: ‘strncpy’ output may be truncated copying 12 bytes from a string of length 12 [-Wstringop-truncation]
        strncpy(fdb.Name, old.Name, sizeof(fdb.Name) -1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_fdb.c:394:8: warning: ‘strncpy’ output may be truncated copying 80 bytes from a string of length 80 [-Wstringop-truncation]
        strncpy(fdb.LName, old.LName, sizeof(fdb.LName) -1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_fdb.c:400:6: warning: ‘strncpy’ output may be truncated copying 20 bytes from a string of length 20 [-Wstringop-truncation]
      strncpy(fdb.TicArea, tic.Name, sizeof(fdb.TicArea) -1);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_fdb.c:409:8: warning: ‘strncpy’ output may be truncated copying 35 bytes from a string of length 35 [-Wstringop-truncation]
        strncpy(fdb.Uploader, old.Uploader, sizeof(fdb.Uploader) -1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ m_fdb.c:414:8: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation]
        strncpy(fdb.Password, old.Password, sizeof(fdb.Password) -1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ m_fdb.c:434:11: warning: ‘strncpy’ output may be truncated copying 20  bytes
from a string of length 255 [-Wstringop-truncation]
           strncpy(fdb.Magic, de->d_name, sizeof(fdb.Magic) -1);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_global.c: In function ‘global_doc’:
m_global.c:1775:25: warning: ‘%s’ directive output may be truncated  writing
up to 64 bytes into a region of size between 16 and 80 [-Wformat-truncation=]
  snprintf(temp, 81, "%s %s", utsbuf.sysname, utsbuf.release);
                         ^~                   ~~~~~~~~~~~~~~
m_global.c:1775:2: note: ‘snprintf’ output between 2 and 130 bytes into a destination of size 81
  snprintf(temp, 81, "%s %s", utsbuf.sysname, utsbuf.release);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_mgroup.c: In function ‘EditMGroup’:
m_mgroup.c:536:36: warning: ‘%-18s’ directive output may be truncated writing between 18 and 55 bytes into a region of size between 54 and 62 [-Wformat-truncation=]
    snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
                                    ^~~~~                       ~~~~~~~~~~~~~~ m_mgroup.c:536:4: note: ‘snprintf’ output between 38 and 83 bytes into a destination of size 81
    snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
    
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ m_mgroup.c: In function ‘PickMGroup’:
m_mgroup.c:644:39: warning: ‘%-18s’ directive output may be truncated writing between 18 and 55 bytes into a region of size between 54 and 62 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
                                       ^~~~~
~~~~~~~~~~~~~~
m_mgroup.c:644:7: note: ‘snprintf’ output between 38 and 83 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-12s %-18s", o + i, mgroup.Name, mgroup.Comment);
       
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
m_users.c: In function ‘Fields1’:
m_users.c:229:49: warning: ‘%02d’ directive output may be truncated  writing
between 2 and 11 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
         snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
                                                 ^~~~
m_users.c:229:9: note: ‘snprintf’ output between 20 and 72 bytes into a destination of size 30
         snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 ld->tm_mon+1, ld->tm_year + 1900, ld->tm_hour, ld->tm_min, ld->tm_sec);
                 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~
m_users.c:234:49: warning: ‘%02d’ directive output may be truncated  writing
between 2 and 11 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
         snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
                                                 ^~~~
m_users.c:234:9: note: ‘snprintf’ output between 20 and 72 bytes into a destination of size 30
         snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 ld->tm_mon+1, ld->tm_year + 1900, ld->tm_hour, ld->tm_min, ld->tm_sec);
                 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~
m_users.c:239:42: warning: ‘%02d’ directive output may be truncated  writing
between 2 and 11 bytes into a region of size between 0 and 16 [-Wformat-truncation=]
  snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
                                          ^~~~
m_users.c:239:2: note: ‘snprintf’ output between 20 and 72 bytes into a destination of size 30
  snprintf(Date, 30, "%02d-%02d-%04d %02d:%02d:%02d", ld->tm_mday,
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   ld->tm_mon+1, ld->tm_year + 1900, ld->tm_hour, ld->tm_min, ld->tm_sec);
   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ m_ff.c: In function ‘AppendFilefind’:
m_ff.c:205:3: warning: ‘strncpy’ output may be truncated copying 50 bytes from a string of length 50 [-Wstringop-truncation]
   strncpy(scanmgr.Origin, CFG.origin, 50);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_hatch.c: In function ‘EditHatch’:
m_hatch.c:507:33: warning: ‘%-32s’ directive output may be truncated writing between 32 and 78 bytes into a region of size between 67 and 75 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-32s", o + i, hatch.Spec);
                                 ^~~~~          ~~~~~~~~~~
m_hatch.c:507:7: note: ‘snprintf’ output between 39 and 93 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-32s", o + i, hatch.Spec);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_ol.c: In function ‘CountOneline’:
m_ol.c:60:26: warning: ‘%02d’ directive output may be truncated writing between 2 and 11 bytes into a region of size between 0 and 9 [-Wformat-truncation=]
  snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
                          ^~~~
m_ol.c:60:20: note: directive argument in the range [-2147483647, 2147483647]
  snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
                    ^~~~~~~~~~~~~~~~
m_ol.c:60:20: note: directive argument in the range [-2147481748, 2147483647] m_ol.c:60:2: note: ‘snprintf’ output between 11 and 36 bytes into a destination of size 12
  snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
  
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
m_ol.c: In function ‘EditOneline’:
m_ol.c:345:33: warning: ‘%-32s’ directive output may be truncated writing between 32 and 80 bytes into a region of size between 67 and 75 [-Wformat-truncation=]
       snprintf(temp, 81, "%3d.  %-32s", o + i, ol.Oneline);
                                 ^~~~~          ~~~~~~~~~~
m_ol.c:345:7: note: ‘snprintf’ output between 39 and 95 bytes into a destination of size 81
       snprintf(temp, 81, "%3d.  %-32s", o + i, ol.Oneline);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
m_ol.c: In function ‘ImportOneline’:
m_ol.c:528:29: warning: ‘%02d’ directive output may be truncated writing between 2 and 11 bytes into a region of size between 0 and 9 [-Wformat-truncation=]
     snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
                             ^~~~
m_ol.c:528:23: note: directive argument in the range [-2147483647, 2147483647]
     snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
                       ^~~~~~~~~~~~~~~~
m_ol.c:528:23: note: directive argument in the range [-2147481748, 2147483647] m_ol.c:528:5: note: ‘snprintf’ output between 11 and 36 bytes into a destination of size 12
     snprintf(buf, 12, "%02d-%02d-%04d", l_date->tm_mday, l_date->tm_mon+1, l_date->tm_year+1900);
     
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
commonio.c: In function ‘commonio_lock_nowait.part.3’:
commonio.c:263:41: warning: ‘%ld’ directive output may be truncated  writing
between 1 and 11 bytes into a region of size between 0 and 1023 [-Wformat-truncation=]
         snprintf(file, sizeof file, "%s.%ld", db->filename, (long) getpid());
                                         ^~~
commonio.c:263:37: note: directive argument in the range [-2147483648, 2147483647]
         snprintf(file, sizeof file, "%s.%ld", db->filename, (long) getpid());
                                     ^~~~~~~~
commonio.c:263:9: note: ‘snprintf’ output between 3 and 1036 bytes into a destination of size 1024
         snprintf(file, sizeof file, "%s.%ld", db->filename, (long) getpid());
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ commonio.c:264:40: warning: ‘.lock’ directive output may be truncated writing 5 bytes into a region of size between 1 and 1024  [-Wformat-truncation=]
         snprintf(lock, sizeof lock, "%s.lock", db->filename);
                                        ^~~~~
commonio.c:264:9: note: ‘snprintf’ output between 6 and 1029 bytes into a destination of size 1024
         snprintf(lock, sizeof lock, "%s.lock", db->filename);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
commonio.c: In function ‘commonio_close.part.4’:
commonio.c:541:33: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
   snprintf(buf, sizeof buf, "%s-", db->filename);
                                 ^
commonio.c:541:3: note: ‘snprintf’ output between 2 and 1025 bytes into a destination of size 1024
   snprintf(buf, sizeof buf, "%s-", db->filename);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
commonio.c:563:32: warning: ‘snprintf’ output may be truncated before the last format character [-Wformat-truncation=]
  snprintf(buf, sizeof buf, "%s+", db->filename);
                                ^
commonio.c:563:2: note: ‘snprintf’ output between 2 and 1025 bytes into a destination of size 1024
  snprintf(buf, sizeof buf, "%s+", db->filename);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
commonio.c: In function ‘commonio_unlock’:
commonio.c:339:48: warning: ‘.lock’ directive output may be truncated writing 5 bytes into a region of size between 1 and 1024  [-Wformat-truncation=]
                 snprintf(lock, sizeof lock, "%s.lock", db->filename);
                                                ^~~~~
commonio.c:339:17: note: ‘snprintf’ output between 6 and 1029 bytes into a destination of size 1024
                 snprintf(lock, sizeof lock, "%s.lock", db->filename);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utmp.c: In function ‘checkutmp’:
utmp.c:121:3: warning: ‘strncpy’ specified bound 4 equals destination size [-Wstringop-truncation]
   strncpy(utent.ut_id, utent.ut_line + 3, sizeof utent.ut_id);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
log.c: In function ‘dolastlog’:
log.c:89:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
  strncpy(newlog.ll_line, line, sizeof newlog.ll_line);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mblogin.c:32:
mblogin.c: In function ‘main’:
mblogin.c:541:44: warning: ‘%s’ directive output may be truncated writing up to 8191 bytes into a region of size 507 [-Wformat-truncation=]
      snprintf(fromhost, sizeof fromhost, _(" on `%s' from `%s'"), tty, cp);
                                            ^~~~~~~~~~~~~~~~~~~~ mblogin.h:30:18: note: in definition of macro ‘_’
 # define _(Text) Text
                  ^~~~
mblogin.c:541:6: note: ‘snprintf’ output 15 or more bytes (assuming 8206) into a destination of size 512
      snprintf(fromhost, sizeof fromhost, _(" on `%s' from `%s'"), tty, cp);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mblogin.c:32:
mblogin.c:543:44: warning: ‘%s’ directive output may be truncated writing up to 8191 bytes into a region of size 507 [-Wformat-truncation=]
      snprintf(fromhost, sizeof fromhost, _(" on `%s'"), tty);
                                            ^~~~~~~~~~
mblogin.h:30:18: note: in definition of macro ‘_’
 # define _(Text) Text
                  ^~~~
mblogin.c:543:6: note: ‘snprintf’ output between 7 and 8198 bytes into a destination of size 512
      snprintf(fromhost, sizeof fromhost, _(" on `%s'"), tty);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mblogin.c:32:
mblogin.h:179:10: warning: ‘strncpy’ argument 2 declared attribute ‘nonstring’ is smaller than the specified bound 8191  [-Wstringop-overflow=]
         (strncpy((A), (B), sizeof(A) - 1), (A)[sizeof(A) - 1] = '\0')
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mblogin.c:447:5: note: in expansion of macro ‘STRFCPY’
     STRFCPY(tty, utent.ut_line);
     ^~~~~~~
In file included from /usr/include/utmp.h:29,
                 from mblogin.c:49:
/usr/include/bits/utmp.h:62:8: note: argument 'ut_line' declared here
   char ut_line[UT_LINESIZE]
        ^~~~~~~
----
A fair few are dups as far as I can tell.
Values ½~@~X   and ½~@~Y   are the ' char.
golded can't seem to handle UTF-8 correctly.
Vincent
--- Mageia Linux v7.1 X64/Mbse v1.0.7.17/GoldED+/LNX 1.1.5-b20180707
 * Origin: Air Applewood, The Linux Gateway to the UK & Eire (2:250/1)