home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!newsflash.concordia.ca!mizar.cc.umanitoba.ca!bison!sys6626!kynes1!rdo
- From: rdo@kynes.bison.mb.ca (Russell Ochocki)
- Newsgroups: comp.sys.atari.st.tech
- Subject: How do you set a disk's volume label?
- Message-ID: <H.ea.kYwLB_Rm3xg@kynes.bison.mb.ca>
- Date: Thu, 31 Dec 1992 11:24:26 CST
- Reply-To: rdo@kynes.bison.mb.ca
- Organization: Private Site, Winnipeg, Manitoba, Canada
- Lines: 46
- X-Software: HERMES GUS 1.04 Rev. Sep 5 1992
-
- Using the following code, I can find the volume label on a disk:
-
- #include <stdio.h>
- #include <string.h>
- #include <osbind.h>
- #include <ostruct.h>
-
- /* Get disk vol for specified drive */
- char *
- getvol(char drive)
- {
- _DTA *dta;
- char path[8];
- char *vol = NULL;
-
- path[0] = '/';
- path[1] = drive;
- path[2] = '\0';
- chdir(path);
- Fsfirst("*.*", FA_LABEL);
- do {
- dta = (_DTA *)Fgetdta();
- printf("name: %s\n", dta->dta_name);
- if (dta->dta_attribute == FA_LABEL) {
- vol = strdup(dta->dta_name);
- break;
- }
- } while (Fsnext() == 0);
-
- if (vol != NULL)
- return vol;
- else
- return NULL;
- }
-
- Now, what I'd like to do is be able to change an existing label. Or, if one
- doesn't exist, I'd like to create it.
-
- Any ideas?
- --
- ____________________________________________________________________________
- | _ /| | Russell Ochocki
- | \`o.0' | rdo@kynes.bison.mb.ca
- | =(___)= |-----------------------------------------------------------------
- | U | A closed mouth gathers no foot.
- |_________|_________________________________________________________________
-