--- freem/src/fma_gedit.c 2025/03/31 16:33:56 1.5 +++ freem/src/fma_gedit.c 2025/04/13 04:22:43 1.7 @@ -1,5 +1,5 @@ /* - * $Id: fma_gedit.c,v 1.5 2025/03/31 16:33:56 snw Exp $ + * $Id: fma_gedit.c,v 1.7 2025/04/13 04:22:43 snw Exp $ * FreeM global editor * * @@ -24,6 +24,12 @@ * along with FreeM. If not, see . * * $Log: fma_gedit.c,v $ + * Revision 1.7 2025/04/13 04:22:43 snw + * Fix snprintf calls + * + * Revision 1.6 2025/04/09 19:52:02 snw + * Eliminate as many warnings as possible while building with -Wall + * * Revision 1.5 2025/03/31 16:33:56 snw * Work on fmadm edit global * @@ -159,8 +165,8 @@ void ge_describe_gbl(void) printf ("global %s [#%d]\n", ge_buffers[ge_curbuf].name, ge_curbuf); printf ("namespace %s\n", ge_buffers[ge_curbuf].namespace); printf ("block size %d bytes\n", BLOCKLEN); - printf ("block count %d\n", ge_buffers[ge_curbuf].blockct); - printf ("file size %d bytes\n", ge_buffers[ge_curbuf].gblsize); + printf ("block count %ld\n", ge_buffers[ge_curbuf].blockct); + printf ("file size %ld bytes\n", ge_buffers[ge_curbuf].gblsize); } void ge_update_gbl(void) @@ -181,8 +187,7 @@ int fma_globals_edit(int optc, char **op char **args; int mode = MODE_GBL; char *result = (char *) malloc (65535 * sizeof (char));; - int argc; - int tmpres; +/* int argc;*/ register int i; /* first dimension */ @@ -217,13 +222,13 @@ int fma_globals_edit(int optc, char **op while(1) { if (mode == MODE_GBL) { - sprintf (fmge_prompt, "global edit %s [buf %d/%d]> ", + snprintf (fmge_prompt, sizeof (fmge_prompt), "global edit %s [buf %d/%d]> ", ge_buffers[ge_curbuf].name, ge_curbuf, GE_MXGBL); } else { - sprintf (fmge_prompt, "block edit %s [blk %d/%d]> ", + snprintf (fmge_prompt, sizeof (fmge_prompt), "block edit %s [blk %d/%ld]> ", ge_buffers[ge_curbuf].name, ge_buffers[ge_curbuf].blocknum, ge_buffers[ge_curbuf].blockct); @@ -239,8 +244,6 @@ int fma_globals_edit(int optc, char **op while ((result = strtok (NULL, " ")) != NULL) { strcpy (args[i++], result); } - - argc = i; for (i = 0; i < strlen (cmdt); i++) cmdt[i] = cmdt[i] | 0140; @@ -330,7 +333,7 @@ short ge_select_block(int buf, long bloc long length; if ((blocknum < 0) || (blocknum > (ge_buffers[buf].blockct - 1))) { - printf ("block number for global %s must be between 0 and %d\n", ge_buffers[buf].name, ge_buffers[buf].blockct - 1); + printf ("block number for global %s must be between 0 and %ld\n", ge_buffers[buf].name, ge_buffers[buf].blockct - 1); return FALSE; } @@ -347,27 +350,27 @@ short ge_select_block(int buf, long bloc switch (b->btype) { case DATA: - snprintf (b->bt_desc, 39, "DATA"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "DATA"); break; case POINTER: - snprintf (b->bt_desc, 39, "POINTER"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "POINTER"); break; case BOTTOM: - snprintf (b->bt_desc, 39, "BTM PTR"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "BTM PTR"); break; case EMPTY: - snprintf (b->bt_desc, 39, "EMPTY"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "EMPTY"); break; case FBLK: - snprintf (b->bt_desc, 39, "FBLK"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "FBLK"); break; default: - snprintf (b->bt_desc, 39, "ILLEGAL TYPE"); + snprintf (b->bt_desc, sizeof (b->bt_desc) - 1, "ILLEGAL TYPE"); break; } @@ -488,21 +491,21 @@ void ge_describe_block(void) printf ("type = %s\n", ge_buffers[ge_curbuf].block.bt_desc); if (ge_buffers[ge_curbuf].blocknum != ROOT) { - printf ("llptr = %d\n", ge_buffers[ge_curbuf].block.llptr); - printf ("rlptr = %d\n", ge_buffers[ge_curbuf].block.rlptr); + printf ("llptr = %ld\n", ge_buffers[ge_curbuf].block.llptr); + printf ("rlptr = %ld\n", ge_buffers[ge_curbuf].block.rlptr); } else { - printf ("block count = %d\n", ge_buffers[ge_curbuf].block.blockcount); - printf ("offset to free space = %d\n", ge_buffers[ge_curbuf].block.free_offset); + printf ("block count = %ld\n", ge_buffers[ge_curbuf].block.blockcount); + printf ("offset to free space = %ld\n", ge_buffers[ge_curbuf].block.free_offset); } - printf ("key count = %d\n", ge_buffers[ge_curbuf].block.keyct); + printf ("key count = %ld\n", ge_buffers[ge_curbuf].block.keyct); } void ge_update_block(void) { - printf ("fmadm: selected block %d of %d\n", ge_buffers[ge_curbuf].blocknum, ge_buffers[ge_curbuf].blockct); + printf ("fmadm: selected block %d of %ld\n", ge_buffers[ge_curbuf].blocknum, ge_buffers[ge_curbuf].blockct); } @@ -514,7 +517,7 @@ int ge_open_global(char *gblname) buf = ge_nextbuf++; - snprintf (gpath, 4095, "%s/%s", fma_global_path, gblname); + snprintf (gpath, sizeof (gpath) - 1, "%s/%s", fma_global_path, gblname); printf ("fmadm: opening global %s [path %s, namespace %s]... ", gblname, gpath, fma_namespace);