Changeset 00d26202 in mainline for uspace/lib


Ignore:
Timestamp:
2026-02-13T11:54:37Z (5 weeks ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
a4e4e29
Parents:
cd0dce3
git-author:
Jiri Svoboda <jiri@…> (2026-02-13 18:54:24)
git-committer:
Jiri Svoboda <jiri@…> (2026-02-13 11:54:37)
Message:

Delete files (Navigator + 'delete' command)

Location:
uspace/lib/fmgt
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/fmgt/include/fmgt.h

    rcd0dce3 r00d26202  
    4343#include <stdint.h>
    4444#include "fmgt/copy.h"
     45#include "fmgt/delete.h"
    4546#include "fmgt/flist.h"
    4647#include "fmgt/move.h"
  • uspace/lib/fmgt/include/types/fmgt.h

    rcd0dce3 r00d26202  
    4848/** File management progress update */
    4949typedef struct {
     50        /** Progress on individual files is valid. */
     51        bool file_progress;
    5052        /** Current file processed bytes */
    5153        char curf_procb[CAPA_BLOCKS_BUFSIZE];
     
    139141        /** Post an immediate initial progress update */
    140142        bool do_init_update;
     143        /** Report file progress. */
     144        bool file_progress;
    141145} fmgt_t;
    142146
  • uspace/lib/fmgt/meson.build

    rcd0dce3 r00d26202  
    2929src = files(
    3030        'src/copy.c',
     31        'src/delete.c',
    3132        'src/flist.c',
    3233        'src/fmgt.c',
  • uspace/lib/fmgt/src/fmgt.c

    rcd0dce3 r00d26202  
    117117        fmgt->curf_totalb = 0;
    118118        fmgt->curf_progr = false;
     119
     120        fmgt->file_progress = false;
    119121}
    120122
     
    131133        fmgt->curf_procb = 0;
    132134        fmgt->curf_totalb = 0;
     135
     136        /*
     137         * This function is only called from operations that need to
     138         * display byte progress within a file. Set a flag so that
     139         * we will report file progress.
     140         */
     141        fmgt->file_progress = true;
    133142
    134143        rc = vfs_stat_path(fname, &stat);
     
    171180                percent = 100;
    172181
    173         capa_blocks_format_buf(fmgt->curf_procb, 1, progress->curf_procb,
    174             sizeof(progress->curf_procb));
    175         capa_blocks_format_buf(fmgt->curf_totalb, 1, progress->curf_totalb,
    176             sizeof(progress->curf_totalb));
    177         snprintf(progress->curf_percent, sizeof(progress->curf_percent), "%u%%",
    178             percent);
    179         snprintf(progress->total_procf, sizeof(progress->total_procf), "%u",
    180             fmgt->total_procf);
    181         capa_blocks_format_buf(fmgt->total_procb, 1, progress->total_procb,
    182             sizeof(progress->total_procb));
     182        progress->file_progress = fmgt->file_progress;
     183
     184        if (fmgt->file_progress) {
     185                capa_blocks_format_buf(fmgt->curf_procb, 1,
     186                    progress->curf_procb, sizeof(progress->curf_procb));
     187                capa_blocks_format_buf(fmgt->curf_totalb, 1,
     188                    progress->curf_totalb, sizeof(progress->curf_totalb));
     189                snprintf(progress->curf_percent, sizeof(progress->curf_percent),
     190                    "%u%%", percent);
     191                capa_blocks_format_buf(fmgt->total_procb, 1,
     192                    progress->total_procb, sizeof(progress->total_procb));
     193        } else {
     194                memset(progress->curf_procb, 0, sizeof(progress->curf_procb));
     195                memset(progress->curf_totalb, 0, sizeof(progress->curf_totalb));
     196                memset(progress->curf_percent, 0,
     197                    sizeof(progress->curf_percent));
     198                memset(progress->total_procb, 0, sizeof(progress->total_procb));
     199        }
     200
     201        snprintf(progress->total_procf, sizeof(progress->total_procf),
     202            "%u", fmgt->total_procf);
    183203}
    184204
Note: See TracChangeset for help on using the changeset viewer.