summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/rmd_cache.c
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2020-06-19 03:47:43 -0700
committerVito Caputo <vcaputo@pengaru.com>2020-06-20 15:58:17 -0700
commit2e5fdc7f842eacce7b41eab794c4bfe97761e381 (patch)
tree4f11cd5aa2196a85c531c1eeb6c75ddb4b190465 /recordmydesktop/src/rmd_cache.c
parentc903c20a8554bd5a56fbe95f6598662e9fc0d2b6 (diff)
*: just some fast and nasty reformatting
If I'm going to actually be modifying this program substantially and possibly maintaining some fork of it, it's gotta be formmatted how I prefer. This is by no means done or perfect, rmd_types.h in particular is quite the mess, I will be revisiting this issue...
Diffstat (limited to 'recordmydesktop/src/rmd_cache.c')
-rw-r--r--recordmydesktop/src/rmd_cache.c328
1 files changed, 162 insertions, 166 deletions
diff --git a/recordmydesktop/src/rmd_cache.c b/recordmydesktop/src/rmd_cache.c
index 61111b7..22c7200 100644
--- a/recordmydesktop/src/rmd_cache.c
+++ b/recordmydesktop/src/rmd_cache.c
@@ -49,180 +49,176 @@
*
*/
static void rmdCacheFileN(char *name, char **newname, int n) { // Nth cache file
- char numbuf[8];
- strcpy(*newname,name);
- strcat(*newname,".");
- snprintf( numbuf, 8, "%d", n );
- strcat(*newname,numbuf);
-}
+ char numbuf[8];
-int rmdSwapCacheFilesWrite(char *name,int n,gzFile **fp,FILE **ucfp){
- char *newname=malloc(strlen(name)+10);
- rmdCacheFileN(name,&newname,n);
- if(*fp==NULL){
- fflush(*ucfp);
- fclose(*ucfp);
- *ucfp=fopen(newname,"wb");
- }
- else{
- gzflush(*fp,Z_FINISH);
- gzclose(*fp);
- *fp=gzopen(newname,"wb0f");
- }
- free(newname);
- return ((*fp==NULL)&&(*ucfp==NULL));
+ strcpy(*newname, name);
+ strcat(*newname, ".");
+ snprintf(numbuf, 8, "%d", n);
+ strcat(*newname, numbuf);
}
-int rmdSwapCacheFilesRead(char *name,int n,gzFile **fp,FILE **ucfp){
- char *newname=malloc(strlen(name)+10);
- rmdCacheFileN(name,&newname,n);
- if(*fp==NULL){
- fclose(*ucfp);
- *ucfp=fopen(newname,"rb");
- }
- else{
-
- gzclose(*fp);
- *fp=gzopen(newname,"rb");
- }
- free(newname);
- return ((*fp==NULL)&&(*ucfp==NULL));
+int rmdSwapCacheFilesWrite(char *name, int n, gzFile **fp, FILE **ucfp) {
+ char *newname = malloc(strlen(name) + 10);
+
+ rmdCacheFileN(name, &newname, n);
+ if (*fp == NULL) {
+ fflush(*ucfp);
+ fclose(*ucfp);
+ *ucfp = fopen(newname, "wb");
+ } else {
+ gzflush(*fp, Z_FINISH);
+ gzclose(*fp);
+ *fp = gzopen(newname, "wb0f");
+ }
+ free(newname);
+
+ return ((*fp == NULL) && (*ucfp == NULL));
}
-int rmdPurgeCache(CacheData *cache_data_t,int sound){
- struct stat buff;
- char *fname;
- fname=malloc(strlen(cache_data_t->imgdata)+10);
- strcpy(fname,cache_data_t->imgdata);
- int exit_value=0;
- int nth_cache=1;
-
- while (stat(fname,&buff)==0){
- if(remove(fname)){
- fprintf(stderr,"Couldn't remove temporary file %s",
- cache_data_t->imgdata);
- exit_value=1;
- }
- rmdCacheFileN(cache_data_t->imgdata,&fname,nth_cache);
- nth_cache++;
- }
- free(fname);
- if(sound){
- if(remove(cache_data_t->audiodata)){
- fprintf(stderr,"Couldn't remove temporary file %s",
- cache_data_t->audiodata);
- exit_value=1;
- }
- }
- if(remove(cache_data_t->specsfile)){
- fprintf(stderr,"Couldn't remove temporary file %s",
- cache_data_t->specsfile);
- exit_value=1;
- }
- if(remove(cache_data_t->projname)){
- fprintf(stderr,"Couldn't remove temporary directory %s",
- cache_data_t->projname);
- exit_value=1;
- }
- return exit_value;
+int rmdSwapCacheFilesRead(char *name, int n, gzFile **fp, FILE **ucfp) {
+ char *newname = malloc(strlen(name) + 10);
+
+ rmdCacheFileN(name, &newname, n);
+ if (*fp == NULL) {
+ fclose(*ucfp);
+ *ucfp = fopen(newname, "rb");
+ } else {
+ gzclose(*fp);
+ *fp = gzopen(newname, "rb");
+ }
+ free(newname);
+
+ return ((*fp == NULL) && (*ucfp == NULL));
}
-void rmdInitCacheData(ProgData *pdata,
- EncData *enc_data_t,
- CacheData *cache_data_t){
- int width,height,offset_x,offset_y,pid;
- char pidbuf[8];
-
- //we set the buffer only since there's
- //no need to initialize the encoder from now.
- width=((pdata->brwin.rrect.width + 15) >>4)<<4;
- height=((pdata->brwin.rrect.height + 15) >>4)<<4;
- offset_x=((width-pdata->brwin.rrect.width)/2)&~1;
- offset_y=((height-pdata->brwin.rrect.height)/2)&~1;
-
- (pdata)->enc_data=enc_data_t;
-
- enc_data_t->yuv.y=(unsigned char *)malloc(height*width);
- enc_data_t->yuv.u=(unsigned char *)malloc(height*width/4);
- enc_data_t->yuv.v=(unsigned char *)malloc(height*width/4);
- enc_data_t->yuv.y_width=width;
- enc_data_t->yuv.y_height=height;
- enc_data_t->yuv.y_stride=width;
-
- enc_data_t->yuv.uv_width=width/2;
- enc_data_t->yuv.uv_height=height/2;
- enc_data_t->yuv.uv_stride=width/2;
- enc_data_t->x_offset=offset_x;
- enc_data_t->y_offset=offset_y;
-
-
- //now we set the cache files
- (pdata)->cache_data=cache_data_t;
-
- cache_data_t->workdir=(pdata->args).workdir;
- pid=getpid();
-
- snprintf( pidbuf, 8, "%d", pid );
- //names are stored relatively to current dir(i.e. no chdir)
- cache_data_t->projname=malloc(strlen(cache_data_t->workdir)+
- 12+strlen(pidbuf)+3);
- //projname
- strcpy(cache_data_t->projname,cache_data_t->workdir);
- strcat(cache_data_t->projname,"/");
- strcat(cache_data_t->projname,"rMD-session-");
- strcat(cache_data_t->projname,pidbuf);
- strcat(cache_data_t->projname,"/");
- //image data
- cache_data_t->imgdata=malloc(strlen(cache_data_t->projname)+11);
- strcpy(cache_data_t->imgdata,cache_data_t->projname);
- strcat(cache_data_t->imgdata,"img.out");
- //audio data
- cache_data_t->audiodata=malloc(strlen(cache_data_t->projname)+10);
- strcpy(cache_data_t->audiodata,cache_data_t->projname);
- strcat(cache_data_t->audiodata,"audio.pcm");
- //specsfile
- cache_data_t->specsfile=malloc(strlen(cache_data_t->projname)+10);
- strcpy(cache_data_t->specsfile,cache_data_t->projname);
- strcat(cache_data_t->specsfile,"specs.txt");
-
- //now that've got out buffers and our filenames we start
- //creating the needed files
-
- if(mkdir(cache_data_t->projname,0777)){
- fprintf(stderr,"Could not create temporary directory %s !!!\n",
- cache_data_t->projname);
- exit(13);
- }
- if(!pdata->args.zerocompression){
- cache_data_t->ifp=gzopen(cache_data_t->imgdata,"wb0f");
- if(cache_data_t->ifp==NULL){
- fprintf(stderr,"Could not create temporary file %s !!!\n",
- cache_data_t->imgdata);
- exit(13);
- }
- }
- else{
- cache_data_t->uncifp=fopen(cache_data_t->imgdata,"wb0f");
- if(cache_data_t->uncifp==NULL){
- fprintf(stderr,"Could not create temporary file %s !!!\n",
- cache_data_t->imgdata);
- exit(13);
- }
- }
- if(!pdata->args.nosound){
- cache_data_t->afp=fopen(cache_data_t->audiodata,"wb");
- if(cache_data_t->afp==NULL){
- fprintf(stderr,"Could not create temporary file %s !!!\n",
- cache_data_t->audiodata);
- exit(13);
- }
- }
- if(rmdWriteSpecsFile(pdata)){
- fprintf(stderr,"Could not write specsfile %s !!!\n",
- cache_data_t->specsfile);
- exit(13);
- }
+int rmdPurgeCache(CacheData *cache_data_t, int sound) {
+ struct stat buff;
+ char *fname;
+ int exit_value = 0;
+ int nth_cache = 1;
+
+ fname = malloc(strlen(cache_data_t->imgdata) + 10);
+ strcpy(fname, cache_data_t->imgdata);
+
+ while (stat(fname, &buff) == 0) {
+ if (remove(fname)) {
+ fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->imgdata);
+ exit_value = 1;
+ }
+ rmdCacheFileN(cache_data_t->imgdata, &fname, nth_cache);
+ nth_cache++;
+ }
+
+ free(fname);
+
+ if (sound) {
+ if (remove(cache_data_t->audiodata)) {
+ fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->audiodata);
+ exit_value = 1;
+ }
+ }
+
+ if (remove(cache_data_t->specsfile)) {
+ fprintf(stderr, "Couldn't remove temporary file %s", cache_data_t->specsfile);
+ exit_value = 1;
+ }
+
+ if (remove(cache_data_t->projname)) {
+ fprintf(stderr, "Couldn't remove temporary directory %s", cache_data_t->projname);
+ exit_value = 1;
+ }
+
+ return exit_value;
+}
+void rmdInitCacheData(ProgData *pdata, EncData *enc_data_t, CacheData *cache_data_t) {
+ int width, height, offset_x, offset_y, pid;
+ char pidbuf[8];
+
+ //we set the buffer only since there's
+ //no need to initialize the encoder from now.
+ width = ((pdata->brwin.rrect.width + 15) >>4)<<4;
+ height = ((pdata->brwin.rrect.height + 15) >>4)<<4;
+ offset_x = ((width-pdata->brwin.rrect.width)/2)&~1;
+ offset_y = ((height-pdata->brwin.rrect.height)/2)&~1;
+
+ (pdata)->enc_data = enc_data_t;
+
+ enc_data_t->yuv.y = (unsigned char *)malloc(height*width);
+ enc_data_t->yuv.u = (unsigned char *)malloc(height*width/4);
+ enc_data_t->yuv.v = (unsigned char *)malloc(height*width/4);
+ enc_data_t->yuv.y_width = width;
+ enc_data_t->yuv.y_height = height;
+ enc_data_t->yuv.y_stride = width;
+
+ enc_data_t->yuv.uv_width = width/2;
+ enc_data_t->yuv.uv_height = height/2;
+ enc_data_t->yuv.uv_stride = width/2;
+ enc_data_t->x_offset = offset_x;
+ enc_data_t->y_offset = offset_y;
+
+ //now we set the cache files
+ (pdata)->cache_data = cache_data_t;
+
+ cache_data_t->workdir = (pdata->args).workdir;
+ pid = getpid();
+
+ snprintf( pidbuf, 8, "%d", pid );
+ //names are stored relatively to current dir(i.e. no chdir)
+ cache_data_t->projname = malloc(strlen(cache_data_t->workdir) + 12 + strlen(pidbuf) + 3);
+ //projname
+ strcpy(cache_data_t->projname, cache_data_t->workdir);
+ strcat(cache_data_t->projname, "/");
+ strcat(cache_data_t->projname, "rMD-session-");
+ strcat(cache_data_t->projname, pidbuf);
+ strcat(cache_data_t->projname, "/");
+ //image data
+ cache_data_t->imgdata = malloc(strlen(cache_data_t->projname) + 11);
+ strcpy(cache_data_t->imgdata, cache_data_t->projname);
+ strcat(cache_data_t->imgdata, "img.out");
+ //audio data
+ cache_data_t->audiodata = malloc(strlen(cache_data_t->projname) + 10);
+ strcpy(cache_data_t->audiodata, cache_data_t->projname);
+ strcat(cache_data_t->audiodata, "audio.pcm");
+ //specsfile
+ cache_data_t->specsfile = malloc(strlen(cache_data_t->projname) + 10);
+ strcpy(cache_data_t->specsfile, cache_data_t->projname);
+ strcat(cache_data_t->specsfile, "specs.txt");
+
+ //now that've got out buffers and our filenames we start
+ //creating the needed files
+
+ if (mkdir(cache_data_t->projname, 0777)) {
+ fprintf(stderr, "Could not create temporary directory %s !!!\n", cache_data_t->projname);
+ exit(13);
+ }
+
+ if (!pdata->args.zerocompression) {
+ cache_data_t->ifp = gzopen(cache_data_t->imgdata, "wb0f");
+ if (cache_data_t->ifp == NULL) {
+ fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->imgdata);
+ exit(13);
+ }
+ } else {
+ cache_data_t->uncifp = fopen(cache_data_t->imgdata, "wb0f");
+ if (cache_data_t->uncifp == NULL) {
+ fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->imgdata);
+ exit(13);
+ }
+ }
+
+ if (!pdata->args.nosound) {
+ cache_data_t->afp = fopen(cache_data_t->audiodata, "wb");
+ if (cache_data_t->afp == NULL) {
+ fprintf(stderr, "Could not create temporary file %s !!!\n", cache_data_t->audiodata);
+ exit(13);
+ }
+ }
+
+ if (rmdWriteSpecsFile(pdata)) {
+ fprintf(stderr, "Could not write specsfile %s !!!\n", cache_data_t->specsfile);
+ exit(13);
+ }
}
© All Rights Reserved